]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/settings.cpp
fixed wxHTML parsing to run in O(n) even in UTF8 build
[wxWidgets.git] / src / gtk / settings.cpp
index ff3abce216d17fdc908c98702627494929042d1a..16fccb189518b272b2e997dcefca8566a948e91a 100644 (file)
@@ -126,28 +126,30 @@ static bool GetColourFromGTKWidget(GdkColor& gdkColor,
         }
     }
 
-    gtk_widget_destroy( widget );
+    gtk_object_sink((GtkObject*)widget);
 
     return ok;
 }
 
 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];
+    GtkWidget* widget = gtk_window_new(GTK_WINDOW_POPUP);
+#if GTK_CHECK_VERSION(2, 10, 0)
+    if (!gtk_check_version(2, 10, 0))
+        gtk_window_set_type_hint((GtkWindow*)widget, GDK_WINDOW_TYPE_HINT_TOOLTIP);
+#endif
+    const char* name = "gtk-tooltip";
+    if (gtk_check_version(2, 11, 0))
+        name = "gtk-tooltips";
+    gtk_widget_set_name(widget, name);
+    gtk_widget_ensure_style(widget);
+
+    GdkColor c = widget->style->bg[GTK_STATE_NORMAL];
     gs_objects.m_colTooltip = wxColor(c);
-    c = tooltips->tip_window->style->fg[GTK_STATE_NORMAL];
+    c = widget->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);
-    else
-#endif
-    {
-        gtk_object_sink((GtkObject*)tooltips);
-    }
+
+    gtk_widget_destroy(widget);
 }
 
 wxColour wxSystemSettingsNative::GetColour( wxSystemColour index )
@@ -355,7 +357,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;