summaryrefslogtreecommitdiff
path: root/openbox/event.c
diff options
context:
space:
mode:
authorMikael Magnusson <mikachu@gmail.com>2010-08-23 18:30:38 +0200
committerDana Jansens <danakj@orodu.net>2011-01-24 14:19:21 -0500
commit194bb32cf65d16a4ebec2b96ccad6f3c8c4be9b3 (patch)
tree7770cee74e864f29a8a62d27f2b0fd2ef9a7e087 /openbox/event.c
parent5d5714f01e1a7140847f6e7f2922d457f6bbe66a (diff)
Don't hog the user during the hideDelay
Diffstat (limited to 'openbox/event.c')
-rw-r--r--openbox/event.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/openbox/event.c b/openbox/event.c
index b59707bb..8e0a6bb3 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -1792,8 +1792,9 @@ static gboolean event_handle_menu_input(XEvent *ev)
if (ev->type == ButtonRelease || ev->type == ButtonPress) {
ObMenuEntryFrame *e;
- if (menu_hide_delay_reached() &&
- (ev->xbutton.button < 4 || ev->xbutton.button > 5))
+ if ((ev->xbutton.button < 4 || ev->xbutton.button > 5) &&
+ ((ev->type == ButtonRelease && menu_hide_delay_reached()) ||
+ ev->type == ButtonPress))
{
if ((e = menu_entry_frame_under(ev->xbutton.x_root,
ev->xbutton.y_root)))
@@ -1804,7 +1805,7 @@ static gboolean event_handle_menu_input(XEvent *ev)
if (ev->type == ButtonRelease)
menu_entry_frame_execute(e, ev->xbutton.state);
}
- else if (ev->type == ButtonRelease)
+ else
menu_frame_hide_all();
}
ret = TRUE;