X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fopenbox.cc;h=48fae7a2e73ebed58ccaa560ebdc94081ef35d57;hb=45c2589ef6e6576604543229dfa1582d471e6a94;hp=4aac9ba51d9995beab78b1c2ef6660909701cf33;hpb=ad80ef0f667e3b72d9e35d7a93451a1e2dfa0ab6;p=chaz%2Fopenbox diff --git a/src/openbox.cc b/src/openbox.cc index 4aac9ba5..48fae7a2 100644 --- a/src/openbox.cc +++ b/src/openbox.cc @@ -44,22 +44,6 @@ namespace ob { Openbox *Openbox::instance = (Openbox *) 0; -int Openbox::xerrorHandler(Display *d, XErrorEvent *e) -{ -#ifdef DEBUG - char errtxt[128]; - - XGetErrorText(d, e->error_code, errtxt, 128); - printf("X Error: %s\n", errtxt); -#else - (void)d; - (void)e; -#endif - - return false; -} - - void Openbox::signalHandler(int signal) { switch (signal) { @@ -86,7 +70,7 @@ Openbox::Openbox(int argc, char **argv) { struct sigaction action; - _state = State_Starting; + _state = State_Starting; // initializing everything Openbox::instance = this; @@ -118,6 +102,8 @@ Openbox::Openbox(int argc, char **argv) Openbox::~Openbox() { + _state = State_Exiting; // time to kill everything + // close the X display otk::OBDisplay::destroy(); } @@ -209,11 +195,12 @@ void Openbox::showHelp() void Openbox::eventLoop() { - while (_state == State_Normal) { + while (!_doshutdown) { if (XPending(otk::OBDisplay::display)) { XEvent e; XNextEvent(otk::OBDisplay::display, &e); - process_event(&e); + //process_event(&e); + _xeventhandler.handle(e); } else { _timermanager.fire(); }