X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Fscreen.cc;h=0220a9499ef7ec34676d77784686b9a89e5730d0;hb=5e9f6a165c2304202d6e99993ce6deaac5d32ccc;hp=5e56fc91e750ad4dccb75ea897b30c15dd8a8952;hpb=4d70603f96efaa82556ad5874dbc75f2a563b095;p=chaz%2Fopenbox diff --git a/util/epist/screen.cc b/util/epist/screen.cc index 5e56fc91..0220a949 100644 --- a/util/epist/screen.cc +++ b/util/epist/screen.cc @@ -149,7 +149,9 @@ void screen::processEvent(const XEvent &e) { DestroyNotify, &ev) || XCheckTypedWindowEvent(_epist->getXDisplay(), e.xany.window, UnmapNotify, &ev)) { - processEvent(ev); + + XWindow *win = _epist->findWindow(e.xany.window); + if (win) win->processEvent(ev); } updateClientList(); @@ -515,7 +517,9 @@ const XWindow *screen::lastActiveWindow() const { WindowList::const_iterator it, end = _clients.end(); for (it = _clients.begin(); it != end; ++it) if ((*it)->getScreen() == this && ! (*it)->iconic() && - ((*it)->desktop() == 0xffffffff || (*it)->desktop() == _active_desktop)) + (*it)->canFocus() && + ((*it)->desktop() == 0xffffffff || + (*it)->desktop() == _active_desktop)) return *it; // no windows on this screen