summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gsk/gskrendernodeimpl.c3
-rw-r--r--gtk/gtksnapshot.c5
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.
*