summaryrefslogtreecommitdiff
path: root/gdk/x11/gdkmain-x11.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdk/x11/gdkmain-x11.c')
-rw-r--r--gdk/x11/gdkmain-x11.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c
index e38fd09d3..3e203cab2 100644
--- a/gdk/x11/gdkmain-x11.c
+++ b/gdk/x11/gdkmain-x11.c
@@ -1671,10 +1671,12 @@ gdk_event_translate (GdkEvent *event,
#endif
gint return_val;
- /* Are static variables used for this purpose thread-safe? */
-
return_val = FALSE;
+ /* We need to play catch-up with the dnd motion events */
+ if(gdk_dnd.drag_really && xevent->type == MotionNotify)
+ while (XCheckTypedEvent(xevent->xany.display,MotionNotify,xevent));
+
/* Find the GdkWindow that this event occurred in.
* All events occur in some GdkWindow (otherwise, why
* would we be receiving them). It really is an error
@@ -2030,7 +2032,6 @@ gdk_event_translate (GdkEvent *event,
case MotionNotify:
/* Print debugging info.
*/
- while (XCheckTypedEvent(xevent->xmotion.display,xevent->type,xevent));
GDK_NOTE (EVENTS,
g_print ("motion notify:\t\twindow: %ld x,y: %d %d hint: %s d:%d r%d\n",
xevent->xmotion.window - base_id,