wayland/subsurface: Fix actor hiding in sync_actor_subsurface_state
Unmapped sub-surfaces need to be hidden instead of just ignored. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3364>
This commit is contained in:
parent
6fd77ce515
commit
66408f907f
@ -72,8 +72,11 @@ sync_actor_subsurface_state (MetaWaylandSurface *surface)
|
|||||||
int x, y;
|
int x, y;
|
||||||
|
|
||||||
toplevel_window = meta_wayland_surface_get_toplevel_window (surface);
|
toplevel_window = meta_wayland_surface_get_toplevel_window (surface);
|
||||||
if (!toplevel_window)
|
if (!toplevel_window || !should_show (surface))
|
||||||
return;
|
{
|
||||||
|
clutter_actor_hide (actor);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (toplevel_window->client_type == META_WINDOW_CLIENT_TYPE_X11)
|
if (toplevel_window->client_type == META_WINDOW_CLIENT_TYPE_X11)
|
||||||
return;
|
return;
|
||||||
@ -84,10 +87,7 @@ sync_actor_subsurface_state (MetaWaylandSurface *surface)
|
|||||||
clutter_actor_set_position (actor, x, y);
|
clutter_actor_set_position (actor, x, y);
|
||||||
clutter_actor_set_reactive (actor, TRUE);
|
clutter_actor_set_reactive (actor, TRUE);
|
||||||
|
|
||||||
if (should_show (surface))
|
clutter_actor_show (actor);
|
||||||
clutter_actor_show (actor);
|
|
||||||
else
|
|
||||||
clutter_actor_hide (actor);
|
|
||||||
|
|
||||||
clutter_actor_notify_transform_invalid (actor);
|
clutter_actor_notify_transform_invalid (actor);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user