]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/settings.cpp
Applied patch [ 1701723 ] wxAUI: Added event for doubleclicks on the tabbar bg
[wxWidgets.git] / src / gtk / settings.cpp
index ff3abce216d17fdc908c98702627494929042d1a..35cdbec50ec18ed5ba193e9abcdcd654d9c3cd2c 100644 (file)
@@ -126,7 +126,7 @@ static bool GetColourFromGTKWidget(GdkColor& gdkColor,
         }
     }
 
-    gtk_widget_destroy( widget );
+    gtk_object_sink((GtkObject*)widget);
 
     return ok;
 }
@@ -135,19 +135,24 @@ static void GetTooltipColors()
 {
     GtkTooltips* tooltips = gtk_tooltips_new();
     gtk_tooltips_force_window(tooltips);
-    gtk_widget_ensure_style(tooltips->tip_window);
-    GdkColor c = tooltips->tip_window->style->bg[GTK_STATE_NORMAL];
-    gs_objects.m_colTooltip = wxColor(c);
-    c = tooltips->tip_window->style->fg[GTK_STATE_NORMAL];
-    gs_objects.m_colTooltipText = wxColor(c);
-#if GTK_CHECK_VERSION(2, 9, 0)
-    if (gtk_check_version(2, 9, 0) == NULL)
-        g_object_ref_sink(tooltips);
+
+    // FIXME: In 2.11.6 tip_window is private and always NULL so
+    // we need to do something different if there is no window.
+    // See https://sourceforge.net/tracker/index.php?func=detail&aid=1767485&group_id=9863&atid=109863
+    if (tooltips->tip_window)
+    {
+        gtk_widget_ensure_style(tooltips->tip_window);
+        GdkColor c = tooltips->tip_window->style->bg[GTK_STATE_NORMAL];
+        gs_objects.m_colTooltip = wxColor(c);
+        c = tooltips->tip_window->style->fg[GTK_STATE_NORMAL];
+        gs_objects.m_colTooltipText = wxColor(c);
+    }
     else
-#endif
     {
-        gtk_object_sink((GtkObject*)tooltips);
+        gs_objects.m_colTooltipText = wxColour(255, 255, 128); // FIXME
     }
+
+    gtk_object_sink((GtkObject*)tooltips);
 }
 
 wxColour wxSystemSettingsNative::GetColour( wxSystemColour index )
@@ -355,7 +360,7 @@ wxFont wxSystemSettingsNative::GetFont( wxSystemFont index )
                         gs_objects.m_fontSystem = wxFont(wxString::FromAscii(font_name));
                     g_free (font_name);
                 }
-                gtk_widget_destroy( widget );
+                gtk_object_sink((GtkObject*)widget);
             }
             font = gs_objects.m_fontSystem;
             break;