X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/223d09f6b523aac674ef9b72a883dfa8d37c5d4e..59fe1666ce79d76b7decec871801c7622a789299:/src/gtk1/radiobut.cpp diff --git a/src/gtk1/radiobut.cpp b/src/gtk1/radiobut.cpp index 909c1ebf6d..026b777890 100644 --- a/src/gtk1/radiobut.cpp +++ b/src/gtk1/radiobut.cpp @@ -30,7 +30,8 @@ extern bool g_isIdle; // data //----------------------------------------------------------------------------- -extern bool g_blockEventsOnDrag; +extern bool g_blockEventsOnDrag; +extern wxCursor g_globalCursor; //----------------------------------------------------------------------------- // "clicked" @@ -186,4 +187,27 @@ void wxRadioButton::ApplyWidgetStyle() gtk_widget_set_style( GTK_BUTTON(m_widget)->child, m_widgetStyle ); } +bool wxRadioButton::IsOwnGtkWindow( GdkWindow *window ) +{ + return (window == GTK_TOGGLE_BUTTON(m_widget)->event_window); +} + +void wxRadioButton::OnInternalIdle() +{ + wxCursor cursor = m_cursor; + if (g_globalCursor.Ok()) cursor = g_globalCursor; + + if (GTK_TOGGLE_BUTTON(m_widget)->event_window && cursor.Ok()) + { + /* I now set the cursor the anew in every OnInternalIdle call + as setting the cursor in a parent window also effects the + windows above so that checking for the current cursor is + not possible. */ + + gdk_window_set_cursor( GTK_TOGGLE_BUTTON(m_widget)->event_window, cursor.GetCursor() ); + } + + UpdateWindowUI(); +} + #endif