Alexandre Julliard : winex11: Discard ConfigureNotify events even if the intervening events are for other windows .

Alexandre Julliard julliard at winehq.org
Wed Mar 12 06:44:12 CDT 2008


Module: wine
Branch: master
Commit: e874fded991d85c30f4d4f5d728923a5ff96a1ee
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e874fded991d85c30f4d4f5d728923a5ff96a1ee

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Mar 11 19:50:27 2008 +0100

winex11: Discard ConfigureNotify events even if the intervening events are for other windows.

---

 dlls/winex11.drv/event.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c
index c531410..b85d0f1 100644
--- a/dlls/winex11.drv/event.c
+++ b/dlls/winex11.drv/event.c
@@ -255,23 +255,25 @@ enum event_merge_action
  */
 static enum event_merge_action merge_events( XEvent *prev, XEvent *next )
 {
-    if (prev->xany.window != next->xany.window) return MERGE_HANDLE;
     switch (prev->type)
     {
     case ConfigureNotify:
-        if (prev->xany.window != next->xany.window) break;
         switch (next->type)
         {
         case ConfigureNotify:
-            TRACE( "discarding duplicate ConfigureNotify for window %lx\n", prev->xany.window );
-            return MERGE_DISCARD;
+            if (prev->xany.window == next->xany.window)
+            {
+                TRACE( "discarding duplicate ConfigureNotify for window %lx\n", prev->xany.window );
+                return MERGE_DISCARD;
+            }
+            break;
         case Expose:
         case PropertyNotify:
             return MERGE_KEEP;
         }
         break;
     case MotionNotify:
-        if (next->type == MotionNotify)
+        if (prev->xany.window == next->xany.window && next->type == MotionNotify)
         {
             TRACE( "discarding duplicate MotionNotify for window %lx\n", prev->xany.window );
             return MERGE_DISCARD;




More information about the wine-cvs mailing list