diff options
author | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2020-07-21 11:10:54 -0300 |
---|---|---|
committer | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2020-07-26 18:00:20 -0300 |
commit | df2c7429c7bf0b68bdebc3380860d9a8f30b7a7c (patch) | |
tree | 3ed736cffb7f9918eae8a8a424350a22c2c5ad83 /gladeui | |
parent | 8918dfb79b957cbc97b435a3d28e8ac9f33e759c (diff) | |
download | glade-df2c7429c7bf0b68bdebc3380860d9a8f30b7a7c.tar.gz |
GladeWidget: allow setting a NULL object
We need to be able to unset object property on finalize method.
Diffstat (limited to 'gladeui')
-rw-r--r-- | gladeui/glade-widget.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gladeui/glade-widget.c b/gladeui/glade-widget.c index de38b0ff..93076ea5 100644 --- a/gladeui/glade-widget.c +++ b/gladeui/glade-widget.c @@ -1095,8 +1095,7 @@ glade_widget_set_real_property (GObject *object, widget->priv->anarchist = g_value_get_boolean (value); break; case PROP_OBJECT: - if (g_value_get_object (value)) - glade_widget_set_object (widget, g_value_get_object (value)); + glade_widget_set_object (widget, g_value_get_object (value)); break; case PROP_PROJECT: glade_widget_set_project (widget, @@ -3617,9 +3616,12 @@ glade_widget_set_object (GladeWidget *gwidget, GObject *new_object) GObject *old_object; g_return_if_fail (GLADE_IS_WIDGET (gwidget)); - g_return_if_fail (new_object == NULL || - g_type_is_a (G_OBJECT_TYPE (new_object), - glade_widget_adaptor_get_object_type (gwidget->priv->adaptor))); + + if (new_object) + { + GType type = glade_widget_adaptor_get_object_type (gwidget->priv->adaptor); + g_return_if_fail (g_type_is_a (G_OBJECT_TYPE (new_object), type)); + } if (gwidget->priv->object == new_object) return; |