X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=otk%2Fdisplay.cc;h=6fc6117cd2e5a72af0a40de1523ff26201c2f642;hb=889df8a74da733c849cb52c3a76ae59956755882;hp=3a15ff22ecb16b05a30fee590047b359ce108759;hpb=f3865bb12c2b3506e181f15f09b8429a59a618f8;p=chaz%2Fopenbox diff --git a/otk/display.cc b/otk/display.cc index 3a15ff22..6fc6117c 100644 --- a/otk/display.cc +++ b/otk/display.cc @@ -65,6 +65,8 @@ int OBDisplay::xerrorHandler(Display *d, XErrorEvent *e) { XGetErrorText(d, e->error_code, errtxt, 128); printf("X Error: %s\n", errtxt); + if (e->error_code != BadWindow) + abort(); } #else (void)d; @@ -176,6 +178,16 @@ const ScreenInfo* OBDisplay::screenInfo(int snum) { } +const ScreenInfo* OBDisplay::findScreen(Window root) +{ + ScreenInfoList::iterator it, end = _screenInfoList.end(); + for (it = _screenInfoList.begin(); it != end; ++it) + if (it->rootWindow() == root) + return &(*it); + return 0; +} + + void OBDisplay::grab() { if (_grab_count == 0)