From c56cb1e89b6f0750c2241d37511c8961500f924a Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 18 Dec 2019 16:47:31 +0100 Subject: [PATCH] builder: Allow for objects Previously, object properties had to always be set to a value. This now works without it. --- gtk/gtkbuilder.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c index c728ba6116..3f8ba5329e 100644 --- a/gtk/gtkbuilder.c +++ b/gtk/gtkbuilder.c @@ -527,7 +527,14 @@ gtk_builder_get_parameters (GtkBuilder *builder, const char *property_name = g_intern_string (prop->pspec->name); GValue property_value = G_VALUE_INIT; - if (G_IS_PARAM_SPEC_OBJECT (prop->pspec) && + if (prop->bound && (!prop->text || prop->text->len == 0)) + { + /* Ignore properties with a binding and no value since they are + * only there for to express the binding. + */ + continue; + } + else if (G_IS_PARAM_SPEC_OBJECT (prop->pspec) && (G_PARAM_SPEC_VALUE_TYPE (prop->pspec) != GDK_TYPE_PIXBUF) && (G_PARAM_SPEC_VALUE_TYPE (prop->pspec) != GDK_TYPE_TEXTURE) && (G_PARAM_SPEC_VALUE_TYPE (prop->pspec) != GDK_TYPE_PAINTABLE) && @@ -564,13 +571,6 @@ gtk_builder_get_parameters (GtkBuilder *builder, continue; } } - else if (prop->bound && (!prop->text || prop->text->len == 0)) - { - /* Ignore properties with a binding and no value since they are - * only there for to express the binding. - */ - continue; - } else if (!gtk_builder_value_from_string (builder, prop->pspec, prop->text->str, &property_value,