]> Pileus Git - ~andy/gtk/commitdiff
Preserve gtk_widget_get_default_style semantics
authorMatthias Clasen <mclasen@redhat.com>
Mon, 17 Sep 2012 11:51:04 +0000 (07:51 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 17 Sep 2012 11:53:44 +0000 (07:53 -0400)
Make sure that we return a GtkStyle even if there's no screen yet.

gtk/deprecated/gtkstyle.c

index 12a88264129cd265f747b60e5f32cf336dfa341c..c7ea8159eaca6148b07c64650afae0388e5aca32 100644 (file)
@@ -4045,15 +4045,23 @@ gtk_widget_get_default_style_for_screen (GdkScreen *screen)
  *     gtk_css_provider_get_default() to obtain a #GtkStyleProvider
  *     with the default widget style information.
  */
-GtkStyle*
+GtkStyle *
 gtk_widget_get_default_style (void)
 {
+  static GtkStyle *default_style = NULL;
+  GtkStyle *style = NULL;
   GdkScreen *screen = gdk_screen_get_default ();
 
   if (screen)
-    return gtk_widget_get_default_style_for_screen (screen);
+    style = gtk_widget_get_default_style_for_screen (screen);
   else
-    return NULL;
+    {
+      if (default_style == NULL)
+        default_style = gtk_style_new ();
+      style = default_style;
+    }
+
+  return style;
 }
 
 /**