diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-05-16 03:07:17 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-05-16 03:07:17 +0000 |
| commit | 3addcd8bb9c65db54c43d6c829c2b041e4959ca9 (patch) | |
| tree | 719c1a0256a1e54642f54414992d809ac831602a | |
| parent | 6f936115b1868b18f2f7b707407f7fecaf635c04 (diff) | |
don't queue showmenu events, and set button to 0 when a grab is in place after the buttonpress event is run
| -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); |
