diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-03-30 17:32:38 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-03-30 17:32:38 -0400 |
commit | 577195a243686a50f0a06d7b6b2ec598db3d2d1e (patch) | |
tree | d0d550629879c1cc8f23ed9a9ce252298cd55812 /gtk/gtkcenterbox.c | |
parent | 2650c4e974cdeefff3656f9e9cbd2df2eb9725a9 (diff) | |
download | gtk+-577195a243686a50f0a06d7b6b2ec598db3d2d1e.tar.gz |
Make widget property setters behave
We want to allow setting a property to its
current value, while still having a precondition
for widget->parent being NULL otherwise.
Diffstat (limited to 'gtk/gtkcenterbox.c')
-rw-r--r-- | gtk/gtkcenterbox.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gtk/gtkcenterbox.c b/gtk/gtkcenterbox.c index 97bce16698..367c0eab0b 100644 --- a/gtk/gtkcenterbox.c +++ b/gtk/gtkcenterbox.c @@ -332,6 +332,12 @@ gtk_center_box_set_start_widget (GtkCenterBox *self, { GtkLayoutManager *layout_manager; + g_return_if_fail (GTK_IS_CENTER_BOX (self)); + g_return_if_fail (child == NULL || self->start_widget == child || gtk_widget_get_parent (child) == NULL); + + if (self->start_widget == child) + return; + if (self->start_widget) gtk_widget_unparent (self->start_widget); @@ -360,6 +366,12 @@ gtk_center_box_set_center_widget (GtkCenterBox *self, { GtkLayoutManager *layout_manager; + g_return_if_fail (GTK_IS_CENTER_BOX (self)); + g_return_if_fail (child == NULL || self->center_widget == child || gtk_widget_get_parent (child) == NULL); + + if (self->center_widget == child) + return; + if (self->center_widget) gtk_widget_unparent (self->center_widget); @@ -388,6 +400,12 @@ gtk_center_box_set_end_widget (GtkCenterBox *self, { GtkLayoutManager *layout_manager; + g_return_if_fail (GTK_IS_CENTER_BOX (self)); + g_return_if_fail (child == NULL || self->end_widget == child || gtk_widget_get_parent (child) == NULL); + + if (self->end_widget == child) + return; + if (self->end_widget) gtk_widget_unparent (self->end_widget); |