Bug fixes/improvements to the motion event eating for Dnd

This commit is contained in:
Elliot Lee 1998-03-11 23:12:25 +00:00
parent 48a15b7349
commit 093dfedf74
6 changed files with 16 additions and 6 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -4086,6 +4086,7 @@ create_dnd ()
if (!window)
{
GdkPoint hotspot = {5,5};
gdk_dnd_set_drag_shape(modeller->window,
&hotspot,
rings->window,

View File

@ -4086,6 +4086,7 @@ create_dnd ()
if (!window)
{
GdkPoint hotspot = {5,5};
gdk_dnd_set_drag_shape(modeller->window,
&hotspot,
rings->window,