diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-05-03 11:39:58 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-05-04 07:37:25 -0400 |
commit | 77cf6cd406ff0ce3d693b5c1a6ebb02681833c34 (patch) | |
tree | bc0d0ff48d29dbaa3652c7cb415d7ba4c2ed511a /gtk/gtkframe.c | |
parent | 0b4a1bb62fd3382ce0a4783a42a2d3bfada9a396 (diff) | |
download | gtk+-77cf6cd406ff0ce3d693b5c1a6ebb02681833c34.tar.gz |
frame: Don't queue a resize if xalign changes
We only need to allocate children in this case.
While we touch it, rewrite the setter to modern
style.
Diffstat (limited to 'gtk/gtkframe.c')
-rw-r--r-- | gtk/gtkframe.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/gtk/gtkframe.c b/gtk/gtkframe.c index 26880beb20..6381e6974d 100644 --- a/gtk/gtkframe.c +++ b/gtk/gtkframe.c @@ -461,16 +461,12 @@ gtk_frame_set_label_align (GtkFrame *frame, g_return_if_fail (GTK_IS_FRAME (frame)); xalign = CLAMP (xalign, 0.0, 1.0); + if (priv->label_xalign == xalign) + return; - g_object_freeze_notify (G_OBJECT (frame)); - if (xalign != priv->label_xalign) - { - priv->label_xalign = xalign; - g_object_notify_by_pspec (G_OBJECT (frame), frame_props[PROP_LABEL_XALIGN]); - } - - g_object_thaw_notify (G_OBJECT (frame)); - gtk_widget_queue_resize (GTK_WIDGET (frame)); + priv->label_xalign = xalign; + g_object_notify_by_pspec (G_OBJECT (frame), frame_props[PROP_LABEL_XALIGN]); + gtk_widget_queue_allocate (GTK_WIDGET (frame)); } /** |