diff options
author | Matthias Clasen <mclasen@redhat.com> | 2012-09-17 07:51:04 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2012-09-17 07:53:44 -0400 |
commit | 70384941fb85eabc6e0383a3a64f3f3b68c23e77 (patch) | |
tree | f84009a741a485b1096c44c7b1caf0fd5f4a5737 /gtk/deprecated | |
parent | 74f011d24e6e2b1db9b4aeddf84b9273bfdd6942 (diff) | |
download | gtk+-70384941fb85eabc6e0383a3a64f3f3b68c23e77.tar.gz |
Preserve gtk_widget_get_default_style semantics
Make sure that we return a GtkStyle even if there's no screen yet.
Diffstat (limited to 'gtk/deprecated')
-rw-r--r-- | gtk/deprecated/gtkstyle.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gtk/deprecated/gtkstyle.c b/gtk/deprecated/gtkstyle.c index 12a8826412..c7ea8159ea 100644 --- a/gtk/deprecated/gtkstyle.c +++ b/gtk/deprecated/gtkstyle.c @@ -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; } /** |