From: Rémi Bernon rbernon@codeweavers.com
--- dlls/winex11.drv/event.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index ca261b7bf3b..35a51c00700 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -544,7 +544,10 @@ BOOL X11DRV_ProcessEvents( DWORD mask ) free_event_data( &prev_event ); XFlush( gdi_display ); if (count) TRACE( "processed %d events\n", count ); - return !check_fd_events( ConnectionNumber( data->display ), POLLIN ); + + if (check_fd_events( ConnectionNumber( data->display ), POLLIN )) return FALSE; + XFlush( data->display ); /* all events have been processed, flush any pending request */ + return TRUE; }