diff options
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/action.c | 2 | ||||
| -rw-r--r-- | openbox/mouse.c | 5 |
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); |
