Revision: 26508
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26508
Author:   damien78
Date:     2010-02-01 12:20:01 +0100 (Mon, 01 Feb 2010)

Log Message:
-----------
Cocoa : fix mouse cursor hang when RMB-dragging in a not frontmost window

With continuous grab on, in 2+ window setup, when RMB-dragging an object in a 
3D view of a not active (not frontmost) window, mouse cursor was stuck, with no 
escape.
Cursor grab must be done by the window that is key (able to receive mouse move 
events).

Modified Paths:
--------------
    trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm

Modified: trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm      2010-02-01 
11:13:55 UTC (rev 26507)
+++ trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm      2010-02-01 
11:20:01 UTC (rev 26508)
@@ -1100,6 +1100,7 @@
                //No need to perform grab without warp as it is always on in OS 
X
                if(mode != GHOST_kGrabNormal) {
                        GHOST_TInt32 x_old,y_old;
+                       NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] 
init];
 
                        m_systemCocoa->getCursorPosition(x_old,y_old);
                        screenToClient(x_old, y_old, m_cursorGrabInitPos[0], 
m_cursorGrabInitPos[1]);
@@ -1110,8 +1111,13 @@
                                setWindowCursorVisibility(false);
                        }
                        
+                       //Make window key if it wasn't to get the mouse move 
events
+                       [m_window makeKeyWindow];
+                       
                        //Dissociate cursor position even for warp mode, to 
allow mouse acceleration to work even when warping the cursor
                        err = CGAssociateMouseAndMouseCursorPosition(false) == 
kCGErrorSuccess ? GHOST_kSuccess : GHOST_kFailure;
+                       
+                       [pool drain];
                }
        }
        else {


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to