[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