Bug 761340 - on changing theme/icon theme, statusbar zoom field shrinks.

Apply label-scale once only.
This commit is contained in:
Jonathan Tait
2016-01-31 16:25:24 +00:00
committed by Jehan
parent b3e4212dfe
commit 3f2889e030

View File

@ -212,32 +212,30 @@ static void
gimp_scale_combo_box_style_set (GtkWidget *widget, gimp_scale_combo_box_style_set (GtkWidget *widget,
GtkStyle *prev_style) GtkStyle *prev_style)
{ {
GtkWidget *entry; GtkWidget *entry;
GtkRcStyle *rc_style; GtkRcStyle *rc_style;
gint font_size; PangoContext *context;
gdouble scale; PangoFontDescription *font_desc;
gint font_size;
gdouble label_scale;
GTK_WIDGET_CLASS (parent_class)->style_set (widget, prev_style); GTK_WIDGET_CLASS (parent_class)->style_set (widget, prev_style);
gtk_widget_style_get (widget, "label-scale", &scale, NULL); gtk_widget_style_get (widget, "label-scale", &label_scale, NULL);
entry = gtk_bin_get_child (GTK_BIN (widget)); entry = gtk_bin_get_child (GTK_BIN (widget));
rc_style = gtk_widget_get_modifier_style (GTK_WIDGET (entry)); rc_style = gtk_widget_get_modifier_style (GTK_WIDGET (entry));
if (! rc_style->font_desc) if (rc_style->font_desc)
{ pango_font_description_free (rc_style->font_desc);
PangoContext *context;
PangoFontDescription *font_desc;
context = gtk_widget_get_pango_context (widget); context = gtk_widget_get_pango_context (widget);
font_desc = pango_context_get_font_description (context); font_desc = pango_context_get_font_description (context);
rc_style->font_desc = pango_font_description_copy (font_desc);
rc_style->font_desc = pango_font_description_copy (font_desc);
}
font_size = pango_font_description_get_size (rc_style->font_desc); font_size = pango_font_description_get_size (rc_style->font_desc);
pango_font_description_set_size (rc_style->font_desc, scale * font_size); 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);
} }