st/theme-node-drawing: Don't skip square top left inset shadow corners
When the inner radius of the top left corner is 0, the corresponding arc does not get drawn, resulting in a path going from the bottom left corner to the top right corner when the path is closed. Fix this by always including a line_to from the bottom left to the top left corner. Fixes: dde13b30c ("st/theme-node-drawing: Trace the correct path for inset box shadows") Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7996
This commit is contained in:
parent
86be4e31a6
commit
50434f0138
@ -972,6 +972,11 @@ paint_inset_box_shadow_to_cairo_context (StThemeNode *node,
|
|||||||
int inner_radius;
|
int inner_radius;
|
||||||
|
|
||||||
inner_radius = MAX (0, outer_radius[ST_CORNER_TOPLEFT] - shadow_spec->spread);
|
inner_radius = MAX (0, outer_radius[ST_CORNER_TOPLEFT] - shadow_spec->spread);
|
||||||
|
|
||||||
|
cairo_line_to (temp_cr,
|
||||||
|
shrunk_extents_x1,
|
||||||
|
shrunk_extents_y1 + inner_radius);
|
||||||
|
|
||||||
if (inner_radius > 0)
|
if (inner_radius > 0)
|
||||||
{
|
{
|
||||||
cairo_arc (temp_cr,
|
cairo_arc (temp_cr,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user