X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fevent.c;h=337841acd6e65e0036a4a565c1ce73971a2257fe;hb=6a9e7dea8e9c20a65e5bb513ca9d7a92f3db47d3;hp=1db1829c402a7478620dfea9e67ff8f5b1aa617f;hpb=01debc76b981d3507583022854ae22988c7cf613;p=chaz%2Fopenbox 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;