summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
Diffstat (limited to 'openbox')
-rw-r--r--openbox/action.c2
-rw-r--r--openbox/mouse.c5
2 files changed, 6 insertions, 1 deletions
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);