use ignore enters instead of removing them from the queue
This commit is contained in:
parent
d6e49acf0f
commit
037654f3f8
2 changed files with 4 additions and 9 deletions
|
@ -512,11 +512,9 @@ void client_unmanage(ObClient *self)
|
|||
XSync(ob_display, FALSE);
|
||||
|
||||
if (focus_client == self) {
|
||||
XEvent e;
|
||||
|
||||
/* focus the last focused window on the desktop, and ignore enter
|
||||
events from the unmap so it doesnt mess with the focus */
|
||||
while (XCheckTypedEvent(ob_display, EnterNotify, &e));
|
||||
/* ignore enter events from the unmap so it doesnt mess with the focus
|
||||
*/
|
||||
event_ignore_queued_enters();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -213,14 +213,11 @@ void popup_show(ObPopup *self, gchar *text)
|
|||
void popup_hide(ObPopup *self)
|
||||
{
|
||||
if (self->mapped) {
|
||||
XEvent e;
|
||||
|
||||
XUnmapWindow(ob_display, self->bg);
|
||||
self->mapped = FALSE;
|
||||
|
||||
/* kill enter events cause by this unmapping */
|
||||
XSync(ob_display, FALSE);
|
||||
while (XCheckTypedEvent(ob_display, EnterNotify, &e));
|
||||
event_ignore_queued_enters();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue