use ignore enters instead of removing them from the queue

This commit is contained in:
Dana Jansens 2007-04-22 16:48:35 +00:00
parent d6e49acf0f
commit 037654f3f8
2 changed files with 4 additions and 9 deletions

View file

@ -512,11 +512,9 @@ void client_unmanage(ObClient *self)
XSync(ob_display, FALSE); XSync(ob_display, FALSE);
if (focus_client == self) { if (focus_client == self) {
XEvent e; /* ignore enter events from the unmap so it doesnt mess with the focus
*/
/* focus the last focused window on the desktop, and ignore enter event_ignore_queued_enters();
events from the unmap so it doesnt mess with the focus */
while (XCheckTypedEvent(ob_display, EnterNotify, &e));
} }

View file

@ -213,14 +213,11 @@ void popup_show(ObPopup *self, gchar *text)
void popup_hide(ObPopup *self) void popup_hide(ObPopup *self)
{ {
if (self->mapped) { if (self->mapped) {
XEvent e;
XUnmapWindow(ob_display, self->bg); XUnmapWindow(ob_display, self->bg);
self->mapped = FALSE; self->mapped = FALSE;
/* kill enter events cause by this unmapping */ /* kill enter events cause by this unmapping */
XSync(ob_display, FALSE); event_ignore_queued_enters();
while (XCheckTypedEvent(ob_display, EnterNotify, &e));
} }
} }