all repos — fluxbox @ c6099d777d844699fb8a4243921159898bc4f45c

custom fork of the fluxbox windowmanager

fix crashes on restart
Mark Tiefenbruck mark@fluxbox.org
commit

c6099d777d844699fb8a4243921159898bc4f45c

parent

5b7bde2ffbac62f75cb8539f5ab43bb5f4274eae

2 files changed, 9 insertions(+), 9 deletions(-)

jump to
M src/Toolbar.ccsrc/Toolbar.cc

@@ -287,7 +287,8 @@

} Toolbar::~Toolbar() { - Fluxbox::instance()->keys()->unregisterWindow(window().window()); + if (Fluxbox::instance()->keys()) + Fluxbox::instance()->keys()->unregisterWindow(window().window()); FbTk::EventManager::instance()->remove(window()); // remove menu items before we delete tools so we dont end up // with dangling pointers to old submenu items (internal menus)
M src/fluxbox.ccsrc/fluxbox.cc

@@ -420,14 +420,6 @@

Fluxbox::~Fluxbox() { - // destroy atomhandlers - for (AtomHandlerContainerIt it= m_atomhandler.begin(); - it != m_atomhandler.end(); - it++) { - delete (*it).first; - } - m_atomhandler.clear(); - // this needs to be destroyed before screens; otherwise, menus stored in // key commands cause a segfault when the XLayerItem is destroyed m_key.reset(0);

@@ -438,6 +430,13 @@ delete m_screen_list.back();

m_screen_list.pop_back(); } + // destroy atomhandlers + for (AtomHandlerContainerIt it= m_atomhandler.begin(); + it != m_atomhandler.end(); + it++) { + delete (*it).first; + } + m_atomhandler.clear(); clearMenuFilenames(); }