aboutsummaryrefslogtreecommitdiff
path: root/src/Remember.cc
diff options
context:
space:
mode:
authorMathias Gumz <akira@fluxbox.org>2015-01-21 21:16:19 (GMT)
committerMathias Gumz <akira@fluxbox.org>2015-01-21 21:16:19 (GMT)
commite2dbdeeb2eb1dd1e2ff97499e894a86d47d9e3db (patch)
treeb8c195be09bb46413025ed2a8f0c3cc7eadc8482 /src/Remember.cc
parent145cf94ea67a7d58ccd0a90dae8cba8c38a3275a (diff)
downloadfluxbox-e2dbdeeb2eb1dd1e2ff97499e894a86d47d9e3db.zip
fluxbox-e2dbdeeb2eb1dd1e2ff97499e894a86d47d9e3db.tar.bz2
Fix segfault on shutdown
There was a problem deep within how the menus were connected and when and what gets deleted. It was clearly related to a menu which was kind of global. In order to better understand the code flow I eliminated the ExtraMenu code: it was used only to get the Remember-Menu into the Window-Menu. Instead of having a singleton of the Remember-Menu and fight against the shaky interconnections we just create a new one on demand and delete when the menu gets deleted. Looks like this fixes the problem. The menu code needs more love anyway. Closes #1118
Diffstat (limited to 'src/Remember.cc')
-rw-r--r--src/Remember.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/Remember.cc b/src/Remember.cc
index f946ad0..19ea5f0 100644
--- a/src/Remember.cc
+++ b/src/Remember.cc
@@ -1442,10 +1442,10 @@ void Remember::updateClientClose(WinClient &winclient) {
1442 1442
1443} 1443}
1444 1444
1445void Remember::initForScreen(BScreen &screen) { 1445void Remember::initForScreen(BScreen &screen) { }
1446 // All windows get the remember menu. 1446
1447 _FB_USES_NLS; 1447FbTk::Menu* Remember::createMenu(BScreen& screen) {
1448 screen.addExtraWindowMenu(_FB_XTEXT(Remember, MenuItemName, "Remember...", "Remember item in menu"),
1449 createRememberMenu(screen));
1450 1448
1449 return createRememberMenu(screen);
1451} 1450}
1451