]> Dogcows Code - chaz/openbox/blobdiff - openbox/focus_cycle_indicator.c
very cool struts. partial struts actually are partial struts now. possibly way broken...
[chaz/openbox] / openbox / focus_cycle_indicator.c
index a8e0c2d603e587539c6f3cf3f9c1c0097543b125..203a85ff92170c453e3549de246c6d81c218959b 100644 (file)
@@ -105,6 +105,11 @@ void focus_cycle_indicator_shutdown(gboolean reconfig)
 
     RrAppearanceFree(a_focus_indicator);
 
+    stacking_remove(INTERNAL_AS_WINDOW(&focus_indicator.top));
+    stacking_remove(INTERNAL_AS_WINDOW(&focus_indicator.left));
+    stacking_remove(INTERNAL_AS_WINDOW(&focus_indicator.right));
+    stacking_remove(INTERNAL_AS_WINDOW(&focus_indicator.bottom));
+
     XDestroyWindow(ob_display, focus_indicator.top.win);
     XDestroyWindow(ob_display, focus_indicator.left.win);
     XDestroyWindow(ob_display, focus_indicator.right.win);
@@ -114,13 +119,17 @@ void focus_cycle_indicator_shutdown(gboolean reconfig)
 void focus_cycle_draw_indicator(ObClient *c)
 {
     if (!c) {
+        gulong ignore_start;
+
+        /* kill enter events cause by this unmapping */
+        ignore_start = event_start_ignore_all_enters();
+
         XUnmapWindow(ob_display, focus_indicator.top.win);
         XUnmapWindow(ob_display, focus_indicator.left.win);
         XUnmapWindow(ob_display, focus_indicator.right.win);
         XUnmapWindow(ob_display, focus_indicator.bottom.win);
 
-        /* kill enter events cause by this unmapping */
-        event_ignore_all_queued_enters();
+        event_end_ignore_all_enters(ignore_start);
     } else {
         /*
           if (c)
This page took 0.02062 seconds and 4 git commands to generate.