summaryrefslogtreecommitdiff
path: root/gladeui
diff options
context:
space:
mode:
authorJuan Pablo Ugarte <juanpablougarte@gmail.com>2020-07-21 11:10:54 -0300
committerJuan Pablo Ugarte <juanpablougarte@gmail.com>2020-07-26 18:00:20 -0300
commitdf2c7429c7bf0b68bdebc3380860d9a8f30b7a7c (patch)
tree3ed736cffb7f9918eae8a8a424350a22c2c5ad83 /gladeui
parent8918dfb79b957cbc97b435a3d28e8ac9f33e759c (diff)
downloadglade-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.c12
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;