From e874fded991d85c30f4d4f5d728923a5ff96a1ee Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 11 Mar 2008 19:50:27 +0100 Subject: [PATCH] winex11: Discard ConfigureNotify events even if the intervening events are for other windows. --- dlls/winex11.drv/event.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index c53141051dd..b85d0f1e1d2 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;