Ignore EnterNotify on Unmap

This is the basic condition that was first noticed because of the effect of the
ClientMenu window unmapping and the resulting EnterNotify event stealing focus
from the window selected in that menu.  But to be complete, any window unmapping
should cause focus to move to the next in the last-recently-focused window list,
not the one that happens to be beneath the mouse cursor.
This commit is contained in:
Jim Ramsay 2009-01-30 10:47:24 -05:00
parent 5c7784affe
commit 76ea1d9bbe

View file

@ -899,6 +899,11 @@ void Fluxbox::handleUnmapNotify(XUnmapEvent &ue) {
BScreen *screen = searchScreen(ue.event);
if (screen) {
/* Ignore all EnterNotify events until the pointer actually moves */
screen->focusControl().ignoreAtPointer();
}
if (ue.event != ue.window && (!screen || !ue.send_event)) {
return;
}