[gtk/wip/baedert/for-master] Ensure blur nodes have a positive blur radius



commit 085f0171c16547858ae250eb1ff3f3425d3a3e53
Author: Timm Bäder <mail baedert org>
Date:   Sun Oct 17 12:15:34 2021 +0200

    Ensure blur nodes have a positive blur radius

 gsk/gskrendernodeimpl.c | 3 ++-
 gtk/gtksnapshot.c       | 5 ++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/gsk/gskrendernodeimpl.c b/gsk/gskrendernodeimpl.c
index 28cb14ae64..d318fe9eec 100644
--- a/gsk/gskrendernodeimpl.c
+++ b/gsk/gskrendernodeimpl.c
@@ -4858,7 +4858,7 @@ gsk_blur_node_diff (GskRenderNode  *node1,
 /**
  * gsk_blur_node_new:
  * @child: the child node to blur
- * @radius: the blur radius
+ * @radius: the blur radius. Must be positive
  *
  * Creates a render node that blurs the child.
  *
@@ -4873,6 +4873,7 @@ gsk_blur_node_new (GskRenderNode *child,
   float clip_radius;
 
   g_return_val_if_fail (GSK_IS_RENDER_NODE (child), NULL);
+  g_return_val_if_fail (radius >= 0, NULL);
 
   self = gsk_render_node_alloc (GSK_BLUR_NODE);
   node = (GskRenderNode *) self;
diff --git a/gtk/gtksnapshot.c b/gtk/gtksnapshot.c
index 8b8627fb92..114c06fa84 100644
--- a/gtk/gtksnapshot.c
+++ b/gtk/gtksnapshot.c
@@ -520,6 +520,9 @@ gtk_snapshot_collect_blur (GtkSnapshot      *snapshot,
   if (radius == 0.0)
     return node;
 
+  if (radius < 0)
+    return node;
+
   blur_node = gsk_blur_node_new (node, radius);
 
   gsk_render_node_unref (node);
@@ -530,7 +533,7 @@ gtk_snapshot_collect_blur (GtkSnapshot      *snapshot,
 /**
  * gtk_snapshot_push_blur:
  * @snapshot: a `GtkSnapshot`
- * @radius: the blur radius to use
+ * @radius: the blur radius to use. Must be positive
  *
  * Blurs an image.
  *


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]