]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.c
commit d9d580e0382 broke kdesktop again, so we have to fix it at an even finer level...
[chaz/openbox] / openbox / client.c
index a54feb8bcc58047b4da6733a6884be18ae09d689..dd1f5e72b92c8535f1e29516d5f82a1b2ed13f45 100644 (file)
@@ -2510,6 +2510,10 @@ gboolean client_show(ObClient *self)
     gboolean show = FALSE;
 
     if (client_should_show(self)) {
+        /* replay pending pointer event before showing the window, in case it
+           should be going to something under the window */
+        mouse_replay_pointer();
+
         frame_show(self->frame);
         show = TRUE;
 
@@ -2551,6 +2555,10 @@ gboolean client_hide(ObClient *self)
            so trying to ignore them is futile in case 3 anyways
         */
 
+        /* replay pending pointer event before hiding the window, in case it
+           should be going to the window */
+        mouse_replay_pointer();
+
         frame_hide(self->frame);
         hide = TRUE;
 
@@ -2966,6 +2974,10 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
         if (!user)
             ignore_start = event_start_ignore_all_enters();
 
+        /* replay pending pointer event before move the window, in case it
+           would change what window gets the event */
+        mouse_replay_pointer();
+
         frame_adjust_area(self->frame, fmoved, fresized, FALSE);
 
         if (!user)
This page took 0.020346 seconds and 4 git commands to generate.