diff options
author | Mathias Gumz <akira@fluxbox.org> | 2015-01-21 21:16:19 (GMT) |
---|---|---|
committer | Mathias Gumz <akira@fluxbox.org> | 2015-01-21 21:16:19 (GMT) |
commit | e2dbdeeb2eb1dd1e2ff97499e894a86d47d9e3db (patch) | |
tree | b8c195be09bb46413025ed2a8f0c3cc7eadc8482 /src/Remember.hh | |
parent | 145cf94ea67a7d58ccd0a90dae8cba8c38a3275a (diff) | |
download | fluxbox-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.hh')
-rw-r--r-- | src/Remember.hh | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Remember.hh b/src/Remember.hh index a1abf5a..a6a980e 100644 --- a/src/Remember.hh +++ b/src/Remember.hh | |||
@@ -41,6 +41,7 @@ class Application; | |||
41 | 41 | ||
42 | namespace FbTk { | 42 | namespace FbTk { |
43 | class AutoReloadHelper; | 43 | class AutoReloadHelper; |
44 | class Menu; | ||
44 | } | 45 | } |
45 | 46 | ||
46 | /** | 47 | /** |
@@ -125,6 +126,8 @@ public: | |||
125 | 126 | ||
126 | void initForScreen(BScreen &screen); | 127 | void initForScreen(BScreen &screen); |
127 | 128 | ||
129 | static FbTk::Menu* createMenu(BScreen& screen); | ||
130 | |||
128 | // Functions we ignore (zero from AtomHandler) | 131 | // Functions we ignore (zero from AtomHandler) |
129 | // Leaving here in case they might be useful later | 132 | // Leaving here in case they might be useful later |
130 | 133 | ||