Forgot to set {direction} explicitly to +/- 1 for freeglut mouse-wheel
authorRichard Rauch <rkr@olib.org>
Thu, 30 Oct 2003 03:51:33 +0000 (03:51 +0000)
committerRichard Rauch <rkr@olib.org>
Thu, 30 Oct 2003 03:51:33 +0000 (03:51 +0000)
API on MS-WINDOWS.  Oops.

Now it should always report +/- 1 on MS-WINDOWS, per the spec.

git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@269 7f0cb862-5218-0410-a997-914c9d46530a

src/freeglut_main.c

index e1138f3..74641a0 100644 (file)
@@ -1459,9 +1459,15 @@ LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPara
       {
         int wheel_number = LOWORD ( lParam ) ;
         /* THIS IS SPECULATIVE -- John Fay, 10/2/03 */
-        int direction = HIWORD ( lParam ) / 120 ;
+        int ticks = HIWORD ( lParam ) / 120 ;
         /* Should be WHEEL_DELTA instead of 120 */
-        int ticks = abs( direction );
+        int direction = 1;
+
+        if( ticks < 0 )
+        {
+            direction = -1;
+            ticks = -ticks;
+        }
 
         /*
          * The mouse cursor has moved. Remember the new mouse cursor's position