]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/radiobox.cpp
Crash fix under VC++
[wxWidgets.git] / src / gtk1 / radiobox.cpp
index a2f712302d7c6bd9b1b82a17423db52f151a94f8..f5779a893668759ee37b2631232e7a4f0a216098 100644 (file)
@@ -686,6 +686,10 @@ void wxRadioBox::DoApplyWidgetStyle(GtkRcStyle *style)
 {
     gtk_widget_modify_style( m_widget, style );
 
 {
     gtk_widget_modify_style( m_widget, style );
 
+#ifdef __WXGTK20__
+    gtk_widget_modify_style(GTK_FRAME(m_widget)->label_widget, style);
+#endif
+
     wxList::compatibility_iterator node = m_boxes.GetFirst();
     while (node)
     {
     wxList::compatibility_iterator node = m_boxes.GetFirst();
     while (node)
     {
@@ -756,9 +760,12 @@ wxVisualAttributes
 wxRadioBox::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant))
 {
     wxVisualAttributes attr;
 wxRadioBox::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant))
 {
     wxVisualAttributes attr;
+    // NB: we need toplevel window so that GTK+ can find the right style
+    GtkWidget *wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
     GtkWidget* widget = gtk_radio_button_new_with_label(NULL, "");
     GtkWidget* widget = gtk_radio_button_new_with_label(NULL, "");
+    gtk_container_add(GTK_CONTAINER(wnd), widget);
     attr = GetDefaultAttributesFromGTKWidget(widget);
     attr = GetDefaultAttributesFromGTKWidget(widget);
-    gtk_widget_destroy(widget);
+    gtk_widget_destroy(wnd);
     return attr;
 }
 
     return attr;
 }