st/widget: Invalidate paint volume on style changes
StWidget is overriding ClutterActors get_paint_volume() vfunc to adjust for overpaint of things like box shadows that get set in CSS, it does that by setting the paint volume to the theme nodes paint box. Since StWidget can't really get notified when the paint box changes, we just invalidate the paint volume when the theme nodes paint_equal() returns FALSE. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1484>
This commit is contained in:
parent
fab39bbea5
commit
62e40a1350
@ -1722,6 +1722,8 @@ st_widget_recompute_style (StWidget *widget,
|
|||||||
|
|
||||||
if (!paint_equal)
|
if (!paint_equal)
|
||||||
{
|
{
|
||||||
|
clutter_actor_invalidate_paint_volume (CLUTTER_ACTOR (widget));
|
||||||
|
|
||||||
next_paint_state (widget);
|
next_paint_state (widget);
|
||||||
|
|
||||||
if (!st_theme_node_paint_equal (new_theme_node, current_paint_state (widget)->node))
|
if (!st_theme_node_paint_equal (new_theme_node, current_paint_state (widget)->node))
|
||||||
|
Loading…
Reference in New Issue
Block a user