diff options
Diffstat (limited to 'src/FbTk/MenuItem.cc')
-rw-r--r-- | src/FbTk/MenuItem.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/FbTk/MenuItem.cc b/src/FbTk/MenuItem.cc index 7d309f4..1e708d3 100644 --- a/src/FbTk/MenuItem.cc +++ b/src/FbTk/MenuItem.cc | |||
@@ -30,12 +30,13 @@ | |||
30 | #include "App.hh" | 30 | #include "App.hh" |
31 | #include "StringUtil.hh" | 31 | #include "StringUtil.hh" |
32 | #include "Menu.hh" | 32 | #include "Menu.hh" |
33 | #include <X11/keysym.h> | ||
33 | 34 | ||
34 | namespace FbTk { | 35 | namespace FbTk { |
35 | 36 | ||
36 | void MenuItem::click(int button, int time) { | 37 | void MenuItem::click(int button, int time, unsigned int mods) { |
37 | if (m_command.get() != 0) { | 38 | if (m_command.get() != 0) { |
38 | if (m_menu && m_close_on_click) | 39 | if (m_menu && m_close_on_click && (mods & ControlMask) == 0) |
39 | m_menu->hide(); | 40 | m_menu->hide(); |
40 | // we need a local variable, since the command may destroy this object | 41 | // we need a local variable, since the command may destroy this object |
41 | RefCount<Command> tmp(m_command); | 42 | RefCount<Command> tmp(m_command); |