+void wxToolBar::OnInternalIdle()
+{
+ wxCursor cursor = m_cursor;
+ if (g_globalCursor.Ok()) cursor = g_globalCursor;
+
+ if (cursor.Ok() && m_currentGdkCursor != cursor)
+ {
+ wxCursor oldGdkCursor = m_currentGdkCursor;
+ m_currentGdkCursor = cursor;
+
+ wxNode *node = m_tools.First();
+ while (node)
+ {
+ wxToolBarTool *tool = (wxToolBarTool*)node->Data();
+ if (!tool->m_item->window)
+ {
+ /* windows not yet realized. come back later. */
+ m_currentGdkCursor = oldGdkCursor;
+ break;
+ }
+ else
+ {
+ gdk_window_set_cursor( tool->m_item->window, m_currentGdkCursor.GetCursor() );
+ }
+ node = node->Next();
+ }
+ }
+
+ UpdateWindowUI();
+}
+