]> Pileus Git - ~andy/gtk/commitdiff
Patch from Richard Hestilow to fix gtk-font-name changes for widgets that
authorOwen Taylor <otaylor@redhat.com>
Wed, 20 Mar 2002 22:20:36 +0000 (22:20 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Wed, 20 Mar 2002 22:20:36 +0000 (22:20 +0000)
Wed Mar 20 17:11:51 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrc.c: Patch from Richard Hestilow to fix
        gtk-font-name changes for widgets that get the actual
        default style. (#73709)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkrc.c

index d283f275df1c0b7cf65638447065238a14afa9e9..0fe9234dd1d864f7b28abdeca3305868ef59a7ca 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Wed Mar 20 17:11:51 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrc.c: Patch from Richard Hestilow to fix
+       gtk-font-name changes for widgets that get the actual
+       default style. (#73709)
+
 Wed Mar 20 22:59:23 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtkrbtree.[ch]: add _gtk_rbtree_set_fixed_height()
index d283f275df1c0b7cf65638447065238a14afa9e9..0fe9234dd1d864f7b28abdeca3305868ef59a7ca 100644 (file)
@@ -1,3 +1,9 @@
+Wed Mar 20 17:11:51 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrc.c: Patch from Richard Hestilow to fix
+       gtk-font-name changes for widgets that get the actual
+       default style. (#73709)
+
 Wed Mar 20 22:59:23 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtkrbtree.[ch]: add _gtk_rbtree_set_fixed_height()
index d283f275df1c0b7cf65638447065238a14afa9e9..0fe9234dd1d864f7b28abdeca3305868ef59a7ca 100644 (file)
@@ -1,3 +1,9 @@
+Wed Mar 20 17:11:51 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrc.c: Patch from Richard Hestilow to fix
+       gtk-font-name changes for widgets that get the actual
+       default style. (#73709)
+
 Wed Mar 20 22:59:23 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtkrbtree.[ch]: add _gtk_rbtree_set_fixed_height()
index d283f275df1c0b7cf65638447065238a14afa9e9..0fe9234dd1d864f7b28abdeca3305868ef59a7ca 100644 (file)
@@ -1,3 +1,9 @@
+Wed Mar 20 17:11:51 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrc.c: Patch from Richard Hestilow to fix
+       gtk-font-name changes for widgets that get the actual
+       default style. (#73709)
+
 Wed Mar 20 22:59:23 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtkrbtree.[ch]: add _gtk_rbtree_set_fixed_height()
index d283f275df1c0b7cf65638447065238a14afa9e9..0fe9234dd1d864f7b28abdeca3305868ef59a7ca 100644 (file)
@@ -1,3 +1,9 @@
+Wed Mar 20 17:11:51 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrc.c: Patch from Richard Hestilow to fix
+       gtk-font-name changes for widgets that get the actual
+       default style. (#73709)
+
 Wed Mar 20 22:59:23 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtkrbtree.[ch]: add _gtk_rbtree_set_fixed_height()
index d283f275df1c0b7cf65638447065238a14afa9e9..0fe9234dd1d864f7b28abdeca3305868ef59a7ca 100644 (file)
@@ -1,3 +1,9 @@
+Wed Mar 20 17:11:51 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkrc.c: Patch from Richard Hestilow to fix
+       gtk-font-name changes for widgets that get the actual
+       default style. (#73709)
+
 Wed Mar 20 22:59:23 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtkrbtree.[ch]: add _gtk_rbtree_set_fixed_height()
index b9d3581cbf1f155e4541d13743173dcf4f58b243..7f400b765da271293adc536ad600260fc4b96732 100644 (file)
@@ -101,6 +101,7 @@ struct _GtkRcContext
   gchar *pixmap_path[GTK_RC_MAX_PIXMAP_PATHS];
 
   gint default_priority;
+  GtkStyle *default_style;
 };
 
 static GtkRcContext *gtk_rc_context_get              (GtkSettings     *settings);
@@ -534,6 +535,7 @@ gtk_rc_context_get (GtkSettings *settings)
       context->rc_sets_widget_class = NULL;
       context->rc_sets_class = NULL;
       context->rc_files = NULL;
+      context->default_style = NULL;
 
       g_object_get (settings,
                    "gtk-theme-name", &context->theme_name,
@@ -1285,9 +1287,17 @@ _gtk_rc_context_get_default_font_name (GtkSettings *settings)
 
   if (new_font_name != context->font_name && !(new_font_name && strcmp (context->font_name, new_font_name) == 0))
     {
+      gboolean reset = FALSE;
       g_free (context->font_name);
       context->font_name = g_strdup (new_font_name);
 
+      if (context->default_style)
+        {
+         g_object_unref (G_OBJECT (context->default_style));
+         context->default_style = NULL;
+         reset = TRUE;
+        }
+
       /* Clear out styles that have been looked up already
        */
       if (realized_style_ht)
@@ -1295,9 +1305,11 @@ _gtk_rc_context_get_default_font_name (GtkSettings *settings)
          g_hash_table_foreach (realized_style_ht, gtk_rc_clear_realized_style, NULL);
          g_hash_table_destroy (realized_style_ht);
          realized_style_ht = NULL;
-         
-         gtk_rc_reset_widgets (context);
+         reset = TRUE;
        }
+
+      if (reset)
+       gtk_rc_reset_widgets (context);
     }
           
   g_free (new_font_name);
@@ -1579,8 +1591,13 @@ gtk_rc_get_style (GtkWidget *widget)
 
   if (rc_styles)
     return gtk_rc_init_style (rc_styles);
+  else
+    {
+      if (!context->default_style)
+        context->default_style = gtk_style_new ();
 
-  return NULL;
+      return context->default_style;
+    }
 }
 
 /**