[gimp] Revert "app: create pango font description of statusbar zoom field only once..."



commit 710455b71cd11ca604a2c42cb53bff5484b543b0
Author: Jehan <jehan girinstud io>
Date:   Sat Feb 6 15:48:39 2016 +0100

    Revert "app: create pango font description of statusbar zoom field only once..."
    
    This reverts commit 6878b494917d258d069fb29db1847068ee10d8c3.
    I didn't take into consideration that different themes could apply
    various fonts, font sizes or label-scale for the widget. So the font
    description needs to be reinitialized at every theme change.

 app/display/gimpscalecombobox.c |   33 ++++++++++++++++-----------------
 1 files changed, 16 insertions(+), 17 deletions(-)
---
diff --git a/app/display/gimpscalecombobox.c b/app/display/gimpscalecombobox.c
index 29a7dc0..29e3158 100644
--- a/app/display/gimpscalecombobox.c
+++ b/app/display/gimpscalecombobox.c
@@ -212,33 +212,32 @@ static void
 gimp_scale_combo_box_style_set (GtkWidget *widget,
                                 GtkStyle  *prev_style)
 {
-  GtkWidget  *entry;
-  GtkRcStyle *rc_style;
+  GtkWidget            *entry;
+  GtkRcStyle           *rc_style;
+  PangoContext         *context;
+  PangoFontDescription *font_desc;
+  gint                  font_size;
+  gdouble               label_scale;
 
   GTK_WIDGET_CLASS (parent_class)->style_set (widget, prev_style);
 
+  gtk_widget_style_get (widget, "label-scale", &label_scale, NULL);
+
   entry = gtk_bin_get_child (GTK_BIN (widget));
 
   rc_style = gtk_widget_get_modifier_style (GTK_WIDGET (entry));
 
-  if (! rc_style->font_desc)
-    {
-      PangoContext         *context;
-      PangoFontDescription *font_desc;
-      gint                  font_size;
-      gdouble               label_scale;
-
-      gtk_widget_style_get (widget, "label-scale", &label_scale, NULL);
+  if (rc_style->font_desc)
+    pango_font_description_free (rc_style->font_desc);
 
-      context = gtk_widget_get_pango_context (widget);
-      font_desc = pango_context_get_font_description (context);
-      rc_style->font_desc = pango_font_description_copy (font_desc);
+  context = gtk_widget_get_pango_context (widget);
+  font_desc = pango_context_get_font_description (context);
+  rc_style->font_desc = pango_font_description_copy (font_desc);
 
-      font_size = pango_font_description_get_size (rc_style->font_desc);
-      pango_font_description_set_size (rc_style->font_desc, label_scale * font_size);
+  font_size = pango_font_description_get_size (rc_style->font_desc);
+  pango_font_description_set_size (rc_style->font_desc, label_scale * font_size);
 
-      gtk_widget_modify_style (GTK_WIDGET (entry), rc_style);
-    }
+  gtk_widget_modify_style (GTK_WIDGET (entry), rc_style);
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]