X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fstacking.c;h=4d581966bd117e04602a86a7bbc7f136391f8da6;hb=20b8fcfa33feeade5946bc7f3046705da5d164fe;hp=6b3c955a713c71866efa737ebb4d294e69ca93b4;hpb=dc94a241c30484611688a8bfb5515577f017529e;p=chaz%2Fopenbox diff --git a/openbox/stacking.c b/openbox/stacking.c index 6b3c955a..4d581966 100644 --- a/openbox/stacking.c +++ b/openbox/stacking.c @@ -24,6 +24,7 @@ #include "group.h" #include "frame.h" #include "window.h" +#include "event.h" #include "debug.h" #include "obt/prop.h" @@ -114,6 +115,7 @@ void stacking_temp_raise(ObWindow *window) { Window win[2]; GList *it; + gulong start; /* don't use this for internal windows..! it would lower them.. */ g_assert(window_layer(window) < OB_STACKING_LAYER_INTERNAL); @@ -129,7 +131,9 @@ void stacking_temp_raise(ObWindow *window) } win[1] = window_top(window); + start = event_start_ignore_all_enters(); XRestackWindows(obt_display, win, 2); + event_end_ignore_all_enters(start); pause_changes = TRUE; } @@ -139,12 +143,15 @@ void stacking_restore(void) Window *win; GList *it; gint i; + gulong start; win = g_new(Window, g_list_length(stacking_list) + 1); win[0] = screen_support_win; for (i = 1, it = stacking_list; it; ++i, it = g_list_next(it)) win[i] = window_top(it->data); + start = event_start_ignore_all_enters(); XRestackWindows(obt_display, win, i); + event_end_ignore_all_enters(start); g_free(win); pause_changes = FALSE;