[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12578] trunk/blender/intern/ghost/intern/ GHOST_SystemWin32.cpp: Bugfix 7733

Ton Roosendaal ton at blender.org
Tue Nov 13 19:01:01 CET 2007


Revision: 12578
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12578
Author:   ton
Date:     2007-11-13 19:01:01 +0100 (Tue, 13 Nov 2007)

Log Message:
-----------
Bugfix 7733

New mouse scrollwheels allowing higher precision didn't work in Windows.
Code was assuming only value of +120 or -120 were returned.

Modified Paths:
--------------
    trunk/blender/intern/ghost/intern/GHOST_SystemWin32.cpp

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemWin32.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemWin32.cpp	2007-11-13 16:50:43 UTC (rev 12577)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemWin32.cpp	2007-11-13 18:01:01 UTC (rev 12578)
@@ -54,7 +54,7 @@
 #define WM_MOUSEWHEEL 0x020A
 #endif // WM_MOUSEWHEEL
 #ifndef WHEEL_DELTA
-#define WHEEL_DELTA 120	/* Value for rolling one detent */
+#define WHEEL_DELTA 120	/* Value for rolling one detent, (old convention! MS changed it) */
 #endif // WHEEL_DELTA
 
 
@@ -479,7 +479,11 @@
 {
 	// short fwKeys = LOWORD(wParam);			// key flags
 	int zDelta = (short) HIWORD(wParam);	// wheel rotation
-	zDelta /= WHEEL_DELTA;
+	
+	// zDelta /= WHEEL_DELTA;
+	// temporary fix below: microsoft now has added more precision, making the above division not work
+	if (zDelta <= 0 ) zDelta= -1; else zDelta= 1;	
+	
 	// short xPos = (short) LOWORD(lParam);	// horizontal position of pointer
 	// short yPos = (short) HIWORD(lParam);	// vertical position of pointer
 	return new GHOST_EventWheel (getSystem()->getMilliSeconds(), window, zDelta);





More information about the Bf-blender-cvs mailing list