Commit 093dfedf authored by Elliot Lee's avatar Elliot Lee

Bug fixes/improvements to the motion event eating for Dnd

parent 48a15b73
......@@ -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,
......
......@@ -1367,6 +1367,9 @@ gdk_window_shape_combine_mask (GdkWindow *window,
g_return_if_fail (window != NULL);
/* This is needed, according to raster */
gdk_window_set_override_redirect(window, TRUE);
window_private = (GdkWindowPrivate*) window;
if (window_private->destroyed)
return;
......
......@@ -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,
......
......@@ -1367,6 +1367,9 @@ gdk_window_shape_combine_mask (GdkWindow *window,
g_return_if_fail (window != NULL);
/* This is needed, according to raster */
gdk_window_set_override_redirect(window, TRUE);
window_private = (GdkWindowPrivate*) window;
if (window_private->destroyed)
return;
......
......@@ -4086,6 +4086,7 @@ create_dnd ()
if (!window)
{
GdkPoint hotspot = {5,5};
gdk_dnd_set_drag_shape(modeller->window,
&hotspot,
rings->window,
......
......@@ -4086,6 +4086,7 @@ create_dnd ()
if (!window)
{
GdkPoint hotspot = {5,5};
gdk_dnd_set_drag_shape(modeller->window,
&hotspot,
rings->window,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment