aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormarkt <markt>2007-03-21 22:47:56 (GMT)
committermarkt <markt>2007-03-21 22:47:56 (GMT)
commit2b7f9a5899a1bfc680761ae6792af0eeb99d76f3 (patch)
treec80e82fe26b383a5135ad1c07396581662edd052 /src
parentff3ea6f5aa685dbf1b285905ccdb6c0a6e9a0e9f (diff)
downloadfluxbox-2b7f9a5899a1bfc680761ae6792af0eeb99d76f3.zip
fluxbox-2b7f9a5899a1bfc680761ae6792af0eeb99d76f3.tar.bz2
hidemenus hide custommenus and fix custommenu memleak
Diffstat (limited to 'src')
-rw-r--r--src/FbCommands.cc7
-rw-r--r--src/FbCommands.hh5
2 files changed, 9 insertions, 3 deletions
diff --git a/src/FbCommands.cc b/src/FbCommands.cc
index d53afd2..20d45e0 100644
--- a/src/FbCommands.cc
+++ b/src/FbCommands.cc
@@ -269,6 +269,8 @@ void HideMenuCmd::execute() {
269 screen->rootMenu().hide(); 269 screen->rootMenu().hide();
270 if (screen->workspaceMenu().isVisible()) 270 if (screen->workspaceMenu().isVisible())
271 screen->workspaceMenu().hide(); 271 screen->workspaceMenu().hide();
272 if (FbTk::Menu::shownMenu())
273 FbTk::Menu::shownMenu()->hide();
272} 274}
273 275
274ShowCustomMenuCmd::ShowCustomMenuCmd(const string &arguments) : custom_menu_file(arguments) {} 276ShowCustomMenuCmd::ShowCustomMenuCmd(const string &arguments) : custom_menu_file(arguments) {}
@@ -277,8 +279,9 @@ void ShowCustomMenuCmd::execute() {
277 BScreen *screen = Fluxbox::instance()->mouseScreen(); 279 BScreen *screen = Fluxbox::instance()->mouseScreen();
278 if (screen == 0) 280 if (screen == 0)
279 return; 281 return;
280 ::showMenu(*screen, *MenuCreator::createFromFile(custom_menu_file, 282 m_menu = MenuCreator::createFromFile(custom_menu_file,
281 screen->screenNumber(), true)); 283 screen->screenNumber(), true);
284 ::showMenu(*screen, **m_menu);
282} 285}
283 286
284void ShowRootMenuCmd::execute() { 287void ShowRootMenuCmd::execute() {
diff --git a/src/FbCommands.hh b/src/FbCommands.hh
index 3bc5074..314d339 100644
--- a/src/FbCommands.hh
+++ b/src/FbCommands.hh
@@ -28,6 +28,9 @@
28 28
29#include "Command.hh" 29#include "Command.hh"
30 30
31#include "FbTk/RefCount.hh"
32#include "FbTk/Menu.hh"
33
31#include <string> 34#include <string>
32 35
33namespace FbCommands { 36namespace FbCommands {
@@ -124,7 +127,7 @@ public:
124 void execute(); 127 void execute();
125private: 128private:
126 std::string custom_menu_file; 129 std::string custom_menu_file;
127 130 FbTk::RefCount<FbTk::Menu> m_menu;
128}; 131};
129 132
130class ShowRootMenuCmd: public FbTk::Command { 133class ShowRootMenuCmd: public FbTk::Command {