diff options
Diffstat (limited to 'src/FbCommands.cc')
-rw-r--r-- | src/FbCommands.cc | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/FbCommands.cc b/src/FbCommands.cc index 84ad456..fbe41bd 100644 --- a/src/FbCommands.cc +++ b/src/FbCommands.cc | |||
@@ -58,6 +58,19 @@ using namespace std; | |||
58 | namespace { | 58 | namespace { |
59 | 59 | ||
60 | void showMenu(const BScreen &screen, FbTk::Menu &menu) { | 60 | void showMenu(const BScreen &screen, FbTk::Menu &menu) { |
61 | |||
62 | // special case for root menu | ||
63 | if (&menu == &screen.getRootmenu()) { | ||
64 | Fluxbox* fb = Fluxbox::instance(); | ||
65 | if(fb->menuTimestampsChanged()) { | ||
66 | // we dont show the menu here because fluxbox | ||
67 | // will bring up the rootmenu after the timed | ||
68 | // reread of the menu | ||
69 | fb->rereadMenu(true); | ||
70 | return; | ||
71 | } | ||
72 | } | ||
73 | |||
61 | Window root_ret; // not used | 74 | Window root_ret; // not used |
62 | Window window_ret; // not used | 75 | Window window_ret; // not used |
63 | 76 | ||
@@ -84,10 +97,7 @@ void showMenu(const BScreen &screen, FbTk::Menu &menu) { | |||
84 | screen.getHeadY(head), | 97 | screen.getHeadY(head), |
85 | screen.getHeadWidth(head), | 98 | screen.getHeadWidth(head), |
86 | screen.getHeadHeight(head)); | 99 | screen.getHeadHeight(head)); |
87 | // special case for root menu | 100 | |
88 | if (&menu == &screen.getRootmenu()) | ||
89 | Fluxbox::instance()->checkMenu(); | ||
90 | |||
91 | menu.show(); | 101 | menu.show(); |
92 | menu.grabInputFocus(); | 102 | menu.grabInputFocus(); |
93 | } | 103 | } |