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:26:35 -0600
commit0bd30696b14bf5e4374d82f7a9d750b6f0aa7ff6 (patch)
tree44b379590282ea9789f8d3d42540067dbd587c61
parentfb4e9d2232e588446de02c9f7df1a09a30453ecf (diff)
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 d6c3f253..fba7e024 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -2249,7 +2249,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);
@@ -2302,10 +2301,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)
{
@@ -2378,8 +2373,6 @@ idle_calc_showing (gpointer data)
}
}
- meta_display_ungrab (first_window->display);
-
g_slist_free (copy);
g_slist_free (unplaced);