summaryrefslogtreecommitdiff
path: root/openbox/client_menu.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-18 00:11:01 +0000
committerDana Jansens <danakj@orodu.net>2007-05-18 00:11:01 +0000
commit6d2650263193aaa7e94b29261c6ba249c0be3fd3 (patch)
tree0ab47d2b93b22af9d583a6e1b1636082030763da /openbox/client_menu.c
parent9451205cf172d088948d40999e85ad07c3d430dd (diff)
super correct enter event ignoring that will only ignore what it has to, yay?
Diffstat (limited to 'openbox/client_menu.c')
-rw-r--r--openbox/client_menu.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/openbox/client_menu.c b/openbox/client_menu.c
index 6fa744c4..db00265c 100644
--- a/openbox/client_menu.c
+++ b/openbox/client_menu.c
@@ -119,19 +119,15 @@ static void client_menu_execute(ObMenuEntry *e, ObMenuFrame *f,
break;
case CLIENT_RESTORE:
client_maximize(c, FALSE, 0);
- event_ignore_queued_enters();
break;
case CLIENT_MAXIMIZE:
client_maximize(c, TRUE, 0);
- event_ignore_queued_enters();
break;
case CLIENT_SHADE:
client_shade(c, !c->shaded);
- event_ignore_queued_enters();
break;
case CLIENT_DECORATE:
client_set_undecorated(c, !c->undecorated);
- event_ignore_queued_enters();
break;
case CLIENT_MOVE:
/* this needs to grab the keyboard so hide the menu */
@@ -158,6 +154,10 @@ static void client_menu_execute(ObMenuEntry *e, ObMenuFrame *f,
g_assert_not_reached();
}
+ /* we have to ignore all queued enters because the menu has a grab, and the
+ so the cursor isnt considered inside the client's window */
+ event_ignore_all_queued_enters();
+
/* update the menu cuz stuff can have changed */
if (f) {
client_menu_update(f, NULL);
@@ -217,7 +217,9 @@ static void layer_menu_execute(ObMenuEntry *e, ObMenuFrame *f,
g_assert_not_reached();
}
- event_ignore_queued_enters();
+ /* we have to ignore all queued enters because the menu has a grab, and the
+ so the cursor isnt considered inside the client's window */
+ event_ignore_all_queued_enters();
/* update the menu cuz stuff can have changed */
if (f) {