diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 760e77f25b..b4f8211435 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -5252,7 +5252,7 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget, gint font_size, arrow_size; PangoContext *context; PangoFontMetrics *metrics; - PangoFontDescription *font_desc; + const PangoFontDescription *font_desc; GtkWidget *child; gint minimum_width = 0, natural_width = 0; gint child_min, child_nat; @@ -5277,9 +5277,7 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget, state = gtk_widget_get_state_flags (widget); get_widget_padding (widget, &padding); - gtk_style_context_get (style_context, state, - "font", &font_desc, - NULL); + font_desc = gtk_style_context_get_font (style_context, state); context = gtk_widget_get_pango_context (GTK_WIDGET (widget)); metrics = pango_context_get_metrics (context, font_desc, @@ -5287,7 +5285,6 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget, font_size = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + pango_font_metrics_get_descent (metrics)); pango_font_metrics_unref (metrics); - pango_font_description_free (font_desc); arrow_size = MAX (arrow_size, font_size) * arrow_scaling; diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 169117f232..972c110a4b 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -3200,19 +3200,16 @@ static PangoFontMetrics * get_font_metrics (PangoContext *context, GtkWidget *widget) { GtkStyleContext *style_context; - PangoFontDescription *font; + const PangoFontDescription *font; PangoFontMetrics *retval; style_context = gtk_widget_get_style_context (widget); - gtk_style_context_get (style_context, 0, "font", &font, NULL); + font = gtk_style_context_get_font (style_context, GTK_STATE_FLAG_NORMAL); retval = pango_context_get_metrics (context, font, pango_context_get_language (context)); - if (font != NULL) - pango_font_description_free (font); - return retval; } diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index cece4de454..c2c68ba913 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -9008,22 +9008,18 @@ static void update_pango_context (GtkWidget *widget, PangoContext *context) { - PangoFontDescription *font_desc; + const PangoFontDescription *font_desc; GtkStyleContext *style_context; style_context = gtk_widget_get_style_context (widget); - gtk_style_context_get (style_context, - gtk_widget_get_state_flags (widget), - "font", &font_desc, - NULL); + font_desc = gtk_style_context_get_font (style_context, + gtk_widget_get_state_flags (widget)); pango_context_set_font_description (context, font_desc); pango_context_set_base_dir (context, gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR ? PANGO_DIRECTION_LTR : PANGO_DIRECTION_RTL); - - pango_font_description_free (font_desc); } static void