X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ef344ff86223f1f0961f025c0b249c898529c095..e0a76d8d8a91d5a13c1fab7257aae4da8311f58d:/src/mgl/cursor.cpp diff --git a/src/mgl/cursor.cpp b/src/mgl/cursor.cpp index eb959e8ff8..896f2d4f62 100644 --- a/src/mgl/cursor.cpp +++ b/src/mgl/cursor.cpp @@ -197,14 +197,21 @@ MGLCursor *wxCursor::GetMGLCursor() const // Global cursor setting // ---------------------------------------------------------------------------- -static wxCursor g_globalCursor = wxNullCursor; +static wxCursor gs_globalCursor = wxNullCursor; void wxSetCursor(const wxCursor& cursor) { if ( cursor.Ok() ) { - MGL_wmSetGlobalCursor(g_winMng, *cursor.GetMGLCursor()); - g_globalCursor = cursor; + if ( g_winMng ) + MGL_wmSetGlobalCursor(g_winMng, *cursor.GetMGLCursor()); + gs_globalCursor = cursor; + } + else + { + if ( g_winMng ) + MGL_wmSetGlobalCursor(g_winMng, NULL); + gs_globalCursor = wxNullCursor; } } @@ -224,7 +231,7 @@ const wxCursor &wxBusyCursor::GetStoredCursor() const wxCursor wxBusyCursor::GetBusyCursor() { - return wxCursor(wxCURSOR_WAIT); + return gs_globalCursor; } void wxEndBusyCursor() @@ -242,7 +249,7 @@ void wxBeginBusyCursor(wxCursor *cursor) wxASSERT_MSG( !gs_savedCursor.Ok(), wxT("forgot to call wxEndBusyCursor, will leak memory") ); - gs_savedCursor = g_globalCursor; + gs_savedCursor = gs_globalCursor; if ( cursor->Ok() ) wxSetCursor(*cursor); else