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 committed by Florian Müllner
parent c3d2f3f399
commit 011ff15603

View File

@ -607,6 +607,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)