From 6a9e7dea8e9c20a65e5bb513ca9d7a92f3db47d3 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Fri, 18 Apr 2003 21:56:53 +0000 Subject: [PATCH] ignore another type of crossing event, caused when leaving gtk popup menus --- openbox/event.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/openbox/event.c b/openbox/event.c index 1db1829c..337841ac 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -333,12 +333,24 @@ static gboolean event_ignore(XEvent *e, Client *client) case LeaveNotify: /* NotifyUngrab occurs when a mouse button is released and the event is caused, like when lowering a window */ - /* NotifyVirtual occurs when ungrabbing the pointer */ + /* NotifyVirtual occurs when ungrabbing the pointer, + NotifyNonlinearVirtual occurs when closing a gtk app's menu */ if (e->xcrossing.mode == NotifyGrab || e->xcrossing.detail == NotifyInferior || (e->xcrossing.mode == NotifyUngrab && - e->xcrossing.detail == NotifyVirtual)) + (e->xcrossing.detail == NotifyVirtual || + e->xcrossing.detail == NotifyNonlinearVirtual))) { +#ifdef DEBUG_FOCUS + g_message("EnterNotify mode %d detail %d on %lx IGNORED", + e->xcrossing.mode, + e->xcrossing.detail, client?client->window:0); +#endif return TRUE; + } +#ifdef DEBUG_FOCUS + g_message("EnterNotify mode %d detail %d on %lx", e->xcrossing.mode, + e->xcrossing.detail, client?client->window:0); +#endif break; } return FALSE; -- 2.45.2