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

This commit is contained in:
Alexandre Julliard 2008-03-11 19:50:27 +01:00
parent df0f42fe78
commit e874fded99
1 changed files with 7 additions and 5 deletions

View File

@ -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;