summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-04-11 13:14:21 +0000
committerMatthias Clasen <mclasen@redhat.com>2021-04-11 13:14:21 +0000
commit728d6cd53821f2b80da6510629b3db906400055e (patch)
tree276aaa8e8381dcf249a307e712d78637623b0067
parent3cfd1e1f525fc7e2f0a6b8f50c19ed2a7e2deb99 (diff)
parenteaabc3722eb65b726da3ff1184061b7a66499740 (diff)
downloadgtk+-728d6cd53821f2b80da6510629b3db906400055e.tar.gz
Merge branch 'fix-scale-critical' into 'gtk-3-24'
scale: Fix sporadic criticals See merge request GNOME/gtk!3421
-rw-r--r--gtk/gtkscale.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c
index ea30a8c081..529fb3df9d 100644
--- a/gtk/gtkscale.c
+++ b/gtk/gtkscale.c
@@ -2020,23 +2020,26 @@ gtk_scale_get_layout (GtkScale *scale)
if (!priv->layout && priv->draw_value)
{
+ PangoLayout *layout;
int min_layout_width;
- priv->layout = gtk_widget_create_pango_layout (GTK_WIDGET (scale), NULL);
- gtk_css_node_update_layout_attributes (gtk_css_gadget_get_node (priv->value_gadget), priv->layout);
-
+ layout = gtk_widget_create_pango_layout (GTK_WIDGET (scale), NULL);
+ gtk_css_node_update_layout_attributes (gtk_css_gadget_get_node (priv->value_gadget), layout);
gtk_css_gadget_get_preferred_size (priv->value_gadget,
GTK_ORIENTATION_HORIZONTAL, -1,
&min_layout_width, NULL,
NULL, NULL);
- pango_layout_set_width (priv->layout, min_layout_width * PANGO_SCALE);
+
+ pango_layout_set_width (layout, min_layout_width * PANGO_SCALE);
if (priv->value_pos == GTK_POS_LEFT)
- pango_layout_set_alignment (priv->layout, PANGO_ALIGN_RIGHT);
+ pango_layout_set_alignment (layout, PANGO_ALIGN_RIGHT);
else if (priv->value_pos == GTK_POS_RIGHT)
- pango_layout_set_alignment (priv->layout, PANGO_ALIGN_LEFT);
+ pango_layout_set_alignment (layout, PANGO_ALIGN_LEFT);
else
- pango_layout_set_alignment (priv->layout, PANGO_ALIGN_CENTER);
+ pango_layout_set_alignment (layout, PANGO_ALIGN_CENTER);
+
+ priv->layout = layout;
}
if (priv->draw_value)