From c5fd1821f67f11458c9d7bdfd01483b16fe65720 Mon Sep 17 00:00:00 2001 From: Adam Tkac Date: Wed, 11 May 2011 10:45:10 +0000 Subject: [PATCH] [Bugfix] Fix 3-button mouse emulation in win viewer. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/branches/1_1@4405 3789f03b-4d11-0410-bbf8-ca57d06f2519 --- win/rfb_win32/CPointer.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/win/rfb_win32/CPointer.cxx b/win/rfb_win32/CPointer.cxx index 03f8a386..eda6e388 100644 --- a/win/rfb_win32/CPointer.cxx +++ b/win/rfb_win32/CPointer.cxx @@ -54,7 +54,7 @@ void CPointer::pointerEvent(InputHandler* writer, const Point& pos, int buttonMa } -inline int _abs(int x) {return x>0 ? x : 0;} +inline int _abs(int x) {return x>0 ? x : -x;} int emulate3Mask(int buttonMask) { // - Release left & right and press middle @@ -102,7 +102,7 @@ void CPointer::threePointerEvent(InputHandler* writer, const Point& pos, int but if (threeTimer.isActive()) { // - We are timing for an emulation event - if (_abs(threePos.x - pos.x) <= 4 || _abs(threePos.y - pos.y) <= 4) { + if (_abs(threePos.x - pos.x) > 4 || _abs(threePos.y - pos.y) > 4) { // If the mouse has moved too far since the button-change event then flush vlog.debug("emulate3: stop timer (moved)"); threeTimer.stop(); -- 2.39.5