diff options
author | Matthias Clasen <mclasen@redhat.com> | 2018-01-18 17:45:12 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2018-01-18 17:45:12 -0500 |
commit | 6c805ecb0f1b67ff2dbe6c56de03eae7dff81403 (patch) | |
tree | af6947a0c37fd3639e0932f5076db7db8c3608df | |
parent | 8a432b42a28167532b68f93c51e53174f0aa5ecb (diff) | |
download | gtk+-6c805ecb0f1b67ff2dbe6c56de03eae7dff81403.tar.gz |
builder-tool: Try harder to find types
If g_type_from_name fails, try gtk_builder_get_type_from_name
before giving up. This fixes cases like GtkPrinterOptionWidget.
-rw-r--r-- | gtk/gtk-builder-tool.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gtk/gtk-builder-tool.c b/gtk/gtk-builder-tool.c index 8ed47edd02..ebd965ec12 100644 --- a/gtk/gtk-builder-tool.c +++ b/gtk/gtk-builder-tool.c @@ -80,7 +80,13 @@ get_property_pspec (MyParserData *data, type = g_type_from_name (class_name); if (type == G_TYPE_INVALID) - return NULL; + { + GtkBuilder *builder = gtk_builder_new (); + type = gtk_builder_get_type_from_name (builder, class_name); + g_object_unref (builder); + if (type == G_TYPE_INVALID) + return NULL; + } class = g_type_class_ref (type); canonical_name = g_strdup (property_name); @@ -197,7 +203,6 @@ needs_explicit_setting (MyParserData *data, { "GtkGrid", "top-attach", 1 }, { "GtkWidget", "hexpand", 0 }, { "GtkWidget", "vexpand", 0 }, - { "GtkVBox", "expand", 1 }, { NULL, NULL, 0 } }; gchar *canonical_name; |