couple of memory fixes from valgrind
simonb simonb
4 files changed,
9 insertions(+),
5 deletions(-)
M
ChangeLog
→
ChangeLog
@@ -1,6 +1,8 @@
(Format: Year/Month/Day) Changes for 0.9.16: *06/04/22: + * Couple of memory-based fixes from valgrind (Simon) + Keys.cc Screen.cc MenuCreator.cc * Applied #1467926 and #1458069, minor other changes (Mathias) docs/asciidoc/fluxbox.txt * static CommandParser could be used after destruction (Simon)
M
src/Keys.cc
→
src/Keys.cc
@@ -117,8 +117,8 @@ for ( ; it != it_end; it++)
delete *it; map_it->second->clear(); delete map_it->second; - m_map.erase(map_it->first); } + m_map.clear(); } /**@@ -343,7 +343,6 @@ deletes the tree and load configuration
returns true on success else false */ bool Keys::reconfigure(const char *filename) { - deleteTree(); return load(filename); }
M
src/MenuCreator.cc
→
src/MenuCreator.cc
@@ -458,7 +458,7 @@ menu->removeAll(); // clear old items
menu->disableTitle(); // not titlebar if (screen->windowMenuFilename().empty() || ! createWindowMenuFromFile(screen->windowMenuFilename(), *menu, true)) { - char default_menu[][11] = { + char *default_menu[] = { "shade", "stick", "maximize",@@ -472,7 +472,7 @@ "separator",
"close", 0 }; - for (unsigned int i=0; i < sizeof(default_menu); ++i) + for (unsigned int i=0; default_menu[i]; ++i) createWindowMenuItem(default_menu[i], "", *menu); } menu->reconfigure(); // update graphics
M
src/Screen.cc
→
src/Screen.cc
@@ -345,8 +345,11 @@
XSetErrorHandler((XErrorHandler) old); managed = running; - if (! managed) + if (! managed) { + delete m_placement_strategy; m_placement_strategy = 0; + delete m_focus_control; m_focus_control = 0; return; + } // TODO fluxgen: check if this is the right place m_head_areas = new HeadArea[numHeads() ? numHeads() : 1];