From 3addcd8bb9c65db54c43d6c829c2b041e4959ca9 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Wed, 16 May 2007 03:07:17 +0000 Subject: [PATCH] don't queue showmenu events, and set button to 0 when a grab is in place after the buttonpress event is run --- openbox/action.c | 2 +- openbox/mouse.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/openbox/action.c b/openbox/action.c index 5900de7c..b01f9d3e 100644 --- a/openbox/action.c +++ b/openbox/action.c @@ -1143,7 +1143,7 @@ void action_run_list(GSList *acts, ObClient *c, ObFrameContext context, button release gettnig processed first. answer: don't queue moveresize starts. UGLY HACK XXX */ if (a->data.any.interactive || a->func == action_move || - a->func == action_resize) + a->func == action_resize || a->func == action_showmenu) { /* interactive actions are not queued */ a->func(&a->data); diff --git a/openbox/mouse.c b/openbox/mouse.c index 8b0cfccb..78e25d89 100644 --- a/openbox/mouse.c +++ b/openbox/mouse.c @@ -205,6 +205,11 @@ void mouse_event(ObClient *client, XEvent *e) e->xbutton.x_root, e->xbutton.y_root, e->xbutton.time); + /* if the bindings grab the pointer, there won't be a ButtonRelease + event for us */ + if (grab_on_pointer()) + button = 0; + if (CLIENT_CONTEXT(context, client)) { /* Replay the event, so it goes to the client*/ XAllowEvents(ob_display, ReplayPointer, event_curtime); -- 2.39.2