wxCursor oldCursor = win->GetCursor();
win->SetCursor(cursor);
-#ifdef __WXMSW__
- // wxSetCursor(cursor);
+#ifdef __WXMAC__
+ wxSetCursor(cursor);
#endif
m_status = false;
win->SetCursor(oldCursor);
+#ifdef __WXMAC__
+ wxSetCursor(wxNullCursor);
+#endif
+
if (m_status)
{
wxPoint pt;
wxWindow* cursorTarget = currentMouseWindow ;
wxPoint cursorPoint( wxevent.m_x , wxevent.m_y ) ;
- while ( cursorTarget && !cursorTarget->MacSetupCursor( cursorPoint ) )
+ extern wxCursor gGlobalCursor;
+
+ if (!gGlobalCursor.IsOk())
{
- cursorTarget = cursorTarget->GetParent() ;
- if ( cursorTarget )
- cursorPoint += cursorTarget->GetPosition();
+ while ( cursorTarget && !cursorTarget->MacSetupCursor( cursorPoint ) )
+ {
+ cursorTarget = cursorTarget->GetParent() ;
+ if ( cursorTarget )
+ cursorPoint += cursorTarget->GetPosition();
+ }
}
}
{
gMacStoredActiveCursor = gMacCurrentCursor;
cursor->MacInstall();
+
+ wxSetCursor(*cursor);
}
//else: nothing to do, already set
}
{
gMacStoredActiveCursor.MacInstall();
gMacStoredActiveCursor = wxNullCursor;
+
+ wxSetCursor(wxNullCursor);
}
}