[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27810] trunk/blender: Fix [#21689] for coordinate issue (y flipped) when setting mouse cursor position

Damien Plisson damien.plisson at yahoo.fr
Sun Mar 28 21:42:08 CEST 2010


Revision: 27810
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27810
Author:   damien78
Date:     2010-03-28 21:42:08 +0200 (Sun, 28 Mar 2010)

Log Message:
-----------
Fix [#21689] for coordinate issue (y flipped) when setting mouse cursor position

Mem leak when using BGE fixed too.

Modified Paths:
--------------
    trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm
    trunk/blender/source/blender/windowmanager/intern/wm_window.c

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm	2010-03-28 19:20:50 UTC (rev 27809)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm	2010-03-28 19:42:08 UTC (rev 27810)
@@ -813,6 +813,7 @@
 	GHOST_WindowCocoa* window = (GHOST_WindowCocoa*)m_windowManager->getActiveWindow();
 	if (!window) return GHOST_kFailure;
 
+	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
 	NSScreen *windowScreen = window->getScreen();
 	NSRect screenRect = [windowScreen frame];
 	
@@ -825,6 +826,7 @@
 
 	CGDisplayMoveCursorToPoint((CGDirectDisplayID)[[[windowScreen deviceDescription] objectForKey:@"NSScreenNumber"] unsignedIntValue], CGPointMake(xf, yf));
 
+	[pool drain];
     return GHOST_kSuccess;
 }
 

Modified: trunk/blender/source/blender/windowmanager/intern/wm_window.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_window.c	2010-03-28 19:20:50 UTC (rev 27809)
+++ trunk/blender/source/blender/windowmanager/intern/wm_window.c	2010-03-28 19:42:08 UTC (rev 27810)
@@ -1057,7 +1057,9 @@
 	if (win && win->ghostwin) {
 		int oldx=x, oldy=y;
 
+#if !defined(__APPLE__) || !defined(GHOST_COCOA)
 		y= win->sizey -y - 1;
+#endif
 		GHOST_ClientToScreen(win->ghostwin, x, y, &x, &y);
 		GHOST_SetCursorPosition(g_system, x, y);
 





More information about the Bf-blender-cvs mailing list