Module: wine Branch: master Commit: e874fded991d85c30f4d4f5d728923a5ff96a1ee URL: http://source.winehq.org/git/wine.git/?a=commit;h=e874fded991d85c30f4d4f5d72...
Author: Alexandre Julliard julliard@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;