From: Jerome St-Louis Date: Wed, 17 Jun 2015 14:17:30 +0000 (-0400) Subject: ecere/gui/drivers/XInterface: Fixed scrolling broken by previous commit X-Git-Tag: 0.44.12~20 X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?p=sdk;a=commitdiff_plain;h=857f8541e8eba9f622b996fe1889bce1b5415ad9 ecere/gui/drivers/XInterface: Fixed scrolling broken by previous commit - 'middle' modifier was being set --- diff --git a/ecere/src/gui/drivers/XInterface.ec b/ecere/src/gui/drivers/XInterface.ec index 7a7474f..be063e9 100644 --- a/ecere/src/gui/drivers/XInterface.ec +++ b/ecere/src/gui/drivers/XInterface.ec @@ -1761,7 +1761,7 @@ class XInterface : Interface Modifiers keyFlags = 0; bool doubleClick; uint button, buttonDouble, whichButton; - uint buttonMask; + uint buttonMask = 0; int x = event->x_root, y = event->y_root; timeStamp = event->time; if(event->button == Button1) @@ -1789,7 +1789,7 @@ class XInterface : Interface keyFlags.right = true; buttonsState.right = true; } - else + else if(event->button == Button2) { button = __ecereVMethodID___ecereNameSpace__ecere__gui__Window_OnMiddleButtonDown; buttonDouble = __ecereVMethodID___ecereNameSpace__ecere__gui__Window_OnMiddleDoubleClick; @@ -1801,14 +1801,17 @@ class XInterface : Interface if(event->state & buttonMask) break; - doubleClick = event->time - lastTime[whichButton] < DBLCLICK_DELAY && - window == lastWindow[whichButton] && - Abs(event->x_root - lastPos[whichButton].x) < DBLCLICK_DELTA && - Abs(event->y_root - lastPos[whichButton].y) < DBLCLICK_DELTA; - lastTime[whichButton] = doubleClick ? 0 : event->time; - lastWindow[whichButton] = window; - lastPos[whichButton].x = event->x_root; - lastPos[whichButton].y = event->y_root; + if(buttonMask) + { + doubleClick = event->time - lastTime[whichButton] < DBLCLICK_DELAY && + window == lastWindow[whichButton] && + Abs(event->x_root - lastPos[whichButton].x) < DBLCLICK_DELTA && + Abs(event->y_root - lastPos[whichButton].y) < DBLCLICK_DELTA; + lastTime[whichButton] = doubleClick ? 0 : event->time; + lastWindow[whichButton] = window; + lastPos[whichButton].x = event->x_root; + lastPos[whichButton].y = event->y_root; + } if(event->state & ShiftMask) keyFlags.shift = true; if(event->state & ControlMask) keyFlags.ctrl = true;