diff options
author | Timm Bäder <mail@baedert.org> | 2020-12-05 18:19:16 +0100 |
---|---|---|
committer | Timm Bäder <mail@baedert.org> | 2020-12-06 19:18:10 +0100 |
commit | b46d077b3addc44aa08a0460da9cd4f80ca29e39 (patch) | |
tree | 75946696a7eb585147f6e2e6b6589c33c3f28c14 | |
parent | e32331d002fbca8779d71029f455c25ef65d0173 (diff) | |
download | gtk+-b46d077b3addc44aa08a0460da9cd4f80ca29e39.tar.gz |
gl renderer: Fix rendering clipped blurred inset shadow nodes
-rw-r--r-- | gsk/gl/gskglrenderer.c | 9 |
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); } |