summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2018-01-18 17:45:12 -0500
committerMatthias Clasen <mclasen@redhat.com>2018-01-18 17:45:12 -0500
commit6c805ecb0f1b67ff2dbe6c56de03eae7dff81403 (patch)
treeaf6947a0c37fd3639e0932f5076db7db8c3608df
parent8a432b42a28167532b68f93c51e53174f0aa5ecb (diff)
downloadgtk+-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.c9
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;