summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Drake <drake@endlessm.com>2014-01-07 10:12:31 -0600
committerDaniel Drake <drake@endlessm.com>2014-01-07 14:27:24 -0600
commita5f0db5ecb98f967e31ff337e4c81b2dc597e2cc (patch)
tree53a89506752078227dbae67a433789865cb9a946
parent577624adefc73d8f724a9e7319ac8087d9bae825 (diff)
downloadmutter-a5f0db5ecb98f967e31ff337e4c81b2dc597e2cc.tar.gz
window: don't grab server during calc_showing
This grab was added in commit caf43a123f40d3a68599ac5453a79759b828e8f0 https://bugzilla.gnome.org/show_bug.cgi?id=381127 to minimize window flickering when switching workspaces. While this grab is held, some signals are emitted to the shell, which can lead to deadlocks (reproduced under Mali binary OpenGLESv2 drivers). Now that we are a compositing window manager, we do not have to worry about flickers, this grab should no longer be necessary. https://bugzilla.gnome.org/show_bug.cgi?id=721709
-rw-r--r--src/core/window.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/src/core/window.c b/src/core/window.c
index 5739367de..1ff6e0e3d 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -2398,7 +2398,6 @@ idle_calc_showing (gpointer data)
GSList *should_hide;
GSList *unplaced;
GSList *displays;
- MetaWindow *first_window;
guint queue_index = GPOINTER_TO_INT (data);
g_return_val_if_fail (queue_pending[queue_index] != NULL, FALSE);
@@ -2451,10 +2450,6 @@ idle_calc_showing (gpointer data)
should_show = g_slist_sort (should_show, stackcmp);
should_show = g_slist_reverse (should_show);
- first_window = copy->data;
-
- meta_display_grab (first_window->display);
-
tmp = unplaced;
while (tmp != NULL)
{
@@ -2527,8 +2522,6 @@ idle_calc_showing (gpointer data)
}
}
- meta_display_ungrab (first_window->display);
-
g_slist_free (copy);
g_slist_free (unplaced);