summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Magnusson <mikachu@gmail.com>2010-01-18 16:48:27 +0100
committerDana Jansens <danakj@orodu.net>2010-01-28 08:40:07 -0500
commit7cfaae8da9271a7bad4c73886c894a14cbf456e7 (patch)
treeccb262a15484172b0285e6914c4def2933472c96
parentd00a0060f01ac4bca68184ecbba9822e70abea45 (diff)
Don't close the menu when you held control even for execute
-rw-r--r--openbox/actions/execute.c3
-rw-r--r--openbox/menuframe.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/openbox/actions/execute.c b/openbox/actions/execute.c
index 77244d8f..0e9e7387 100644
--- a/openbox/actions/execute.c
+++ b/openbox/actions/execute.c
@@ -206,7 +206,8 @@ static gboolean run_func(ObActionsData *data, gpointer options)
/* If there is a keyboard grab going on then we need to cancel
it so the application can grab things */
- event_cancel_all_key_grabs();
+ if (data->uact != OB_USER_ACTION_MENU_SELECTION)
+ event_cancel_all_key_grabs();
e = NULL;
if (!g_shell_parse_argv(cmd, NULL, &argv, &e)) {
diff --git a/openbox/menuframe.c b/openbox/menuframe.c
index b235f5eb..afffc837 100644
--- a/openbox/menuframe.c
+++ b/openbox/menuframe.c
@@ -1266,7 +1266,7 @@ void menu_entry_frame_execute(ObMenuEntryFrame *self, guint state)
/* release grabs before executing the shit */
if (!(state & ControlMask)) {
- menu_frame_hide_all();
+ event_cancel_all_key_grabs();
frame = NULL;
}