diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-04-11 13:14:21 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-04-11 13:14:21 +0000 |
commit | 728d6cd53821f2b80da6510629b3db906400055e (patch) | |
tree | 276aaa8e8381dcf249a307e712d78637623b0067 | |
parent | 3cfd1e1f525fc7e2f0a6b8f50c19ed2a7e2deb99 (diff) | |
parent | eaabc3722eb65b726da3ff1184061b7a66499740 (diff) | |
download | gtk+-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.c | 17 |
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) |