summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2020-12-05 18:19:16 +0100
committerTimm Bäder <mail@baedert.org>2020-12-06 19:18:10 +0100
commitb46d077b3addc44aa08a0460da9cd4f80ca29e39 (patch)
tree75946696a7eb585147f6e2e6b6589c33c3f28c14
parente32331d002fbca8779d71029f455c25ef65d0173 (diff)
downloadgtk+-b46d077b3addc44aa08a0460da9cd4f80ca29e39.tar.gz
gl renderer: Fix rendering clipped blurred inset shadow nodes
-rw-r--r--gsk/gl/gskglrenderer.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c
index 0149fa2598..60bda9ea63 100644
--- a/gsk/gl/gskglrenderer.c
+++ b/gsk/gl/gskglrenderer.c
@@ -2154,7 +2154,14 @@ render_inset_shadow_node (GskGLRenderer *self,
if (needs_clip)
{
- const GskRoundedRect node_clip = transform_rect (self, builder, node_outline);
+ GskRoundedRect node_clip;
+
+ ops_transform_bounds_modelview (builder, &node_outline->bounds, &node_clip.bounds);
+ for (int i = 0; i < 4; i ++)
+ {
+ node_clip.corner[i].width = node_outline->corner[i].width * scale_x;
+ node_clip.corner[i].height = node_outline->corner[i].height * scale_y;
+ }
ops_push_clip (builder, &node_clip);
}