]> Dogcows Code - chaz/openbox/blobdiff - openbox/screen.c
super amazing enter event skipping.
[chaz/openbox] / openbox / screen.c
index 7b4ca7406066034c010b8c353c63642466d8dfe8..5f1991d39b10bd4b6665119ee5624cb01072ee88 100644 (file)
@@ -542,6 +542,7 @@ void screen_set_desktop(guint num, gboolean dofocus)
     ObClient *c;
     GList *it;
     guint old;
+    gulong ignore_start;
      
     g_assert(num < screen_num_desktops);
 
@@ -557,6 +558,9 @@ void screen_set_desktop(guint num, gboolean dofocus)
 
     ob_debug("Moving to desktop %d\n", num+1);
 
+    /* ignore enter events caused by the move */
+    ignore_start = event_start_ignore_all_enters();
+
     if (moveresize_client)
         client_set_desktop(moveresize_client, num, TRUE);
 
@@ -606,7 +610,7 @@ void screen_set_desktop(guint num, gboolean dofocus)
         }
     }
 
-    event_ignore_all_queued_enters();
+    event_end_ignore_all_enters(ignore_start);
 
     if (event_curtime != CurrentTime)
         screen_desktop_user_time = event_curtime;
This page took 0.022522 seconds and 4 git commands to generate.