summaryrefslogtreecommitdiff
path: root/gtk/deprecated
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2012-09-17 07:51:04 -0400
committerMatthias Clasen <mclasen@redhat.com>2012-09-17 07:53:44 -0400
commit70384941fb85eabc6e0383a3a64f3f3b68c23e77 (patch)
treef84009a741a485b1096c44c7b1caf0fd5f4a5737 /gtk/deprecated
parent74f011d24e6e2b1db9b4aeddf84b9273bfdd6942 (diff)
downloadgtk+-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.c14
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;
}
/**