]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't access null tip_window pointer [ 1767485 ] wxGtk uses private API, breaks with...
authorJulian Smart <julian@anthemion.co.uk>
Fri, 10 Aug 2007 11:05:20 +0000 (11:05 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Fri, 10 Aug 2007 11:05:20 +0000 (11:05 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/settings.cpp

index 6aefef6e3bb7e9e4fb255c63aeb1a168bdfefc70..35cdbec50ec18ed5ba193e9abcdcd654d9c3cd2c 100644 (file)
@@ -135,11 +135,23 @@ 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);
+
+    // 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
+    {
+        gs_objects.m_colTooltipText = wxColour(255, 255, 128); // FIXME
+    }
+
     gtk_object_sink((GtkObject*)tooltips);
 }