dont need to swallow enter events on ungrab cuz we just ignore them all now

This commit is contained in:
Dana Jansens 2003-09-22 04:23:00 +00:00
parent d5f9df0845
commit a43303bdcb

View file

@ -80,35 +80,6 @@ gboolean grab_pointer(gboolean grab, ObCursor cur)
} else if (pgrabs > 0) { } else if (pgrabs > 0) {
if (--pgrabs == 0) { if (--pgrabs == 0) {
XUngrabPointer(ob_display, event_lasttime); XUngrabPointer(ob_display, event_lasttime);
/* ignore all enter events caused by ungrabbing the pointer */
{
GSList *saved = NULL, *it;
XEvent *e;
guint n = 0;
XSync(ob_display, FALSE);
/* count the events */
while (TRUE) {
e = g_new(XEvent, 1);
if (XCheckTypedEvent(ob_display, EnterNotify, e)) {
saved = g_slist_append(saved, e);
++n;
} else {
g_free(e);
break;
}
}
/* put the events back */
for (it = saved; it; it = g_slist_next(it)) {
XPutBackEvent(ob_display, it->data);
g_free(it->data);
}
g_slist_free(saved);
/* ignore the events */
event_ignore_enter_focus(n);
}
} }
ret = TRUE; ret = TRUE;
} }
@ -128,8 +99,9 @@ gboolean grab_pointer_window(gboolean grab, ObCursor cur, Window win)
else else
ret = TRUE; ret = TRUE;
} else if (pgrabs > 0) { } else if (pgrabs > 0) {
if (--pgrabs == 0) if (--pgrabs == 0) {
XUngrabPointer(ob_display, event_lasttime); XUngrabPointer(ob_display, event_lasttime);
}
ret = TRUE; ret = TRUE;
} }
return ret; return ret;