From a611dadc0bd1777ffc7102f7da103a020004b772 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 19 Jul 2019 17:48:42 +0200 Subject: [PATCH] core: Avoid consecutive workspace changes in window construction We first set the workspace to the transient-for parent's, and then try to set on the current workspace. If both happen, we double the work on adding/removing it from the workspace, and everything that happens in result. Should reduce some activity while typing on the Epiphany address bar, as the animation results in a number of xdg_popup being created and destroyed to handle the animation. https://gitlab.gnome.org/GNOME/mutter/issues/556 --- src/core/window.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/core/window.c b/src/core/window.c index 32c946192..6836c1648 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -1275,8 +1275,7 @@ _meta_window_shared_new (MetaDisplay *display, window->transient_for->on_all_workspaces_requested, window->transient_for->workspace); } - - if (window->on_all_workspaces) + else if (window->on_all_workspaces) { meta_topic (META_DEBUG_PLACEMENT, "Putting window %s on all workspaces\n",