]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/cursor.cpp
Fix VC++ compile error
[wxWidgets.git] / src / gtk / cursor.cpp
index a939e16fe4be5318c3c02dbd3b83cf9b5f86291b..6da4ba4d9627544192afd7de209c0ad1532fe994 100644 (file)
@@ -72,13 +72,13 @@ wxCursor::wxCursor(const wxString& cursor_file,
     wxImage img;
     if (!img.LoadFile(cursor_file, type))
         return;
-    
+
     // eventually set the hotspot:
-    if (!image.HasOption(wxIMAGE_OPTION_CUR_HOTSPOT_X))
+    if (!img.HasOption(wxIMAGE_OPTION_CUR_HOTSPOT_X))
         img.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_X, hotSpotX);
-    if (!image.HasOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y))
+    if (!img.HasOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y))
         img.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y, hotSpotY);
-    
+
     InitFromImage(img);
 }
 
@@ -374,7 +374,7 @@ const wxCursor wxBusyCursor::GetBusyCursor()
     return wxCursor(wxCURSOR_WATCH);
 }
 
-static void InternalIdle(const wxWindowList& list, GdkDisplay*& display)
+static void UpdateCursors(const wxWindowList& list, GdkDisplay*& display)
 {
     wxWindowList::const_iterator i = list.begin();
     for (size_t n = list.size(); n--; ++i)
@@ -382,8 +382,8 @@ static void InternalIdle(const wxWindowList& list, GdkDisplay*& display)
         wxWindow* win = *i;
         if (display == NULL && win->m_widget && win->m_widget->window)
             display = gdk_drawable_get_display(win->m_widget->window);
-        win->OnInternalIdle();
-        InternalIdle(win->GetChildren(), display);
+        win->GTKUpdateCursor(true, false);
+        UpdateCursors(win->GetChildren(), display);
     }
 }
 
@@ -395,7 +395,7 @@ void wxEndBusyCursor()
     g_globalCursor = gs_savedCursor;
     gs_savedCursor = wxNullCursor;
     GdkDisplay* unused = NULL;
-    InternalIdle(wxTopLevelWindows, unused);
+    UpdateCursors(wxTopLevelWindows, unused);
 }
 
 void wxBeginBusyCursor(const wxCursor* cursor)
@@ -409,7 +409,7 @@ void wxBeginBusyCursor(const wxCursor* cursor)
     gs_savedCursor = g_globalCursor;
     g_globalCursor = *cursor;
     GdkDisplay* display = NULL;
-    InternalIdle(wxTopLevelWindows, display);
+    UpdateCursors(wxTopLevelWindows, display);
     if (display)
         gdk_display_flush(display);
 }
@@ -422,5 +422,6 @@ bool wxIsBusy()
 void wxSetCursor( const wxCursor& cursor )
 {
     g_globalCursor = cursor;
-    wxTheApp->WakeUpIdle();
+    GdkDisplay* unused = NULL;
+    UpdateCursors(wxTopLevelWindows, unused);
 }