]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/cursor.cpp
* Big memory bug fixed in socket/getline fixed.
[wxWidgets.git] / src / gtk1 / cursor.cpp
index 93c10ada60d27683c167b04ded5e118c1dbbbb38..7c497e454cc301f185dfb2f7073bfa0619f1ee7c 100644 (file)
@@ -140,9 +140,13 @@ GdkCursor *wxCursor::GetCursor() const
 extern wxCursor *g_globalCursor;
 
 static wxCursor *gs_savedCursor = NULL;
+static int       gs_busyCount = 0;
 
 void wxEndBusyCursor()
 {
+    if ( --gs_busyCount > 0 )
+        return;
+
     wxCHECK_RET( gs_savedCursor && gs_savedCursor->Ok(),
                  "calling wxEndBusyCursor() without wxBeginBusyCursor()?" );
 
@@ -153,6 +157,9 @@ void wxEndBusyCursor()
 
 void wxBeginBusyCursor( wxCursor *WXUNUSED(cursor) )
 {
+    if ( gs_busyCount++ > 0 )
+        return;
+
     wxASSERT_MSG( !gs_savedCursor,
                   "forgot to call wxEndBusyCursor, will leak memory" );
 
@@ -166,7 +173,7 @@ void wxBeginBusyCursor( wxCursor *WXUNUSED(cursor) )
 
 bool wxIsBusy()
 {
-    return gs_savedCursor != NULL;
+    return gs_busyCount > 0;
 }
 
 void wxSetCursor( const wxCursor& cursor )