window-actor: Don't show actor until meta_window_actor_show()

By default clutter will show an actor as it is added to a parent. This
means that after we create the window actor, when it's added to the
window group, we implicitly show it. What we really want is to not show
it until the window is supposed to be shown, which happens when
meta_window_actor_show() is called, as showing prior to that, could
cause issues.

Avoid the implicit show by setting the "show-on-set-parent" property on
the window actor to `FALSE` on window actor construction.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/1066
This commit is contained in:
Jonas Ådahl 2020-02-18 23:01:28 +01:00
parent 76e0d7293d
commit c06fae4741

View File

@ -631,6 +631,7 @@ meta_compositor_add_window (MetaCompositor *compositor,
window_actor = g_object_new (window_actor_type, window_actor = g_object_new (window_actor_type,
"meta-window", window, "meta-window", window,
"show-on-set-parent", FALSE,
NULL); NULL);
if (window->layer == META_LAYER_OVERRIDE_REDIRECT) if (window->layer == META_LAYER_OVERRIDE_REDIRECT)