X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ecere%2Fsrc%2Fgui%2Fdrivers%2FXInterface.ec;h=59fd5bfa2b76cc6524efb59ccbd0dda32eae804b;hb=1fa040582454105b6697f265a106b737db8f9e80;hp=9b0163570ea3d55f95c2737874cf873e2f620d34;hpb=021491885ae107bb2bd6692c9b2caf4a2eafe069;p=sdk diff --git a/ecere/src/gui/drivers/XInterface.ec b/ecere/src/gui/drivers/XInterface.ec index 9b01635..59fd5bf 100644 --- a/ecere/src/gui/drivers/XInterface.ec +++ b/ecere/src/gui/drivers/XInterface.ec @@ -1769,7 +1769,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) @@ -1797,7 +1797,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; @@ -1809,14 +1809,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;