[gtk/wip/baedert/for-master] Ensure blur nodes have a positive blur radius
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/baedert/for-master] Ensure blur nodes have a positive blur radius
- Date: Sun, 17 Oct 2021 10:15:53 +0000 (UTC)
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]