X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=plugins%2Fmouse%2Fmouse.c;h=913a2e4a2d1887fc9d1c22397bca400974791d6d;hb=960a7f0184a84f99545fa2d3dd22cefc77f2cbc6;hp=6ac7bab0a69e703e1eaf87794f765dbd3aa75c41;hpb=0e69ae2b96fb4dd7435ebe15645d1384d11a3ef7;p=chaz%2Fopenbox diff --git a/plugins/mouse/mouse.c b/plugins/mouse/mouse.c index 6ac7bab0..913a2e4a 100644 --- a/plugins/mouse/mouse.c +++ b/plugins/mouse/mouse.c @@ -259,6 +259,7 @@ static void event(ObEvent *e, void *foo) { static Time ltime; static guint button = 0, state = 0, lbutton = 0; + static Window lwindow = None; static int px, py; gboolean click = FALSE; gboolean dclick = FALSE; @@ -311,13 +312,18 @@ static void event(ObEvent *e, void *foo) click = TRUE; /* double clicks happen if there were 2 in a row! */ if (lbutton == button && + lwindow == e->data.x.e->xbutton.window && e->data.x.e->xbutton.time - dclicktime <= ltime) { dclick = TRUE; lbutton = 0; - } else + } else { lbutton = button; - } else + lwindow = e->data.x.e->xbutton.window; + } + } else { lbutton = 0; + lwindow = None; + } button = 0; state = 0; @@ -378,9 +384,7 @@ static void event(ObEvent *e, void *foo) e->data.x.client->frame->size.top + e->data.x.client->frame->size.bottom); fire_motion(MouseAction_Motion, context, - e->data.x.client, state, button, - e->data.x.e->xmotion.x_root, - e->data.x.e->xmotion.y_root, corner); + e->data.x.client, state, button, px, py, corner); button = 0; state = 0; }