summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-16 03:07:17 +0000
committerDana Jansens <danakj@orodu.net>2007-05-16 03:07:17 +0000
commit3addcd8bb9c65db54c43d6c829c2b041e4959ca9 (patch)
tree719c1a0256a1e54642f54414992d809ac831602a /openbox
parent6f936115b1868b18f2f7b707407f7fecaf635c04 (diff)
don't queue showmenu events, and set button to 0 when a grab is in place after the buttonpress event is run
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);