GtkBuilder: Export the template parsing entry point

This will let gtk-builder-tool validate templates.
This commit is contained in:
Matthias Clasen 2015-04-30 01:18:09 -04:00
parent f06cd304bd
commit 569d5ad763
3 changed files with 16 additions and 14 deletions

View File

@ -1115,15 +1115,17 @@ gtk_builder_add_objects_from_file (GtkBuilder *builder,
} }
/* Main private entry point for building composite container /* Main private entry point for building composite container
* components from template XML * components from template XML.
* This is exported purely to let gtk-builder-tool validate
* templates, applications have no need to call this function.
*/ */
guint guint
_gtk_builder_extend_with_template (GtkBuilder *builder, gtk_builder_extend_with_template (GtkBuilder *builder,
GtkWidget *widget, GtkWidget *widget,
GType template_type, GType template_type,
const gchar *buffer, const gchar *buffer,
gsize length, gsize length,
GError **error) GError **error)
{ {
GError *tmp_error; GError *tmp_error;

View File

@ -182,12 +182,12 @@ void _gtk_builder_menu_start (ParserData *parser_data,
void _gtk_builder_menu_end (ParserData *parser_data); void _gtk_builder_menu_end (ParserData *parser_data);
GType _gtk_builder_get_template_type (GtkBuilder *builder); GType _gtk_builder_get_template_type (GtkBuilder *builder);
guint _gtk_builder_extend_with_template (GtkBuilder *builder, GDK_AVAILABLE_IN_3_18
GtkWidget *widget, guint gtk_builder_extend_with_template (GtkBuilder *builder,
GType template_type, GtkWidget *widget,
const gchar *buffer, GType template_type, const gchar *buffer,
gsize length, gsize length,
GError **error); GError **error);
void _gtk_builder_prefix_error (GtkBuilder *builder, void _gtk_builder_prefix_error (GtkBuilder *builder,
GMarkupParseContext *context, GMarkupParseContext *context,

View File

@ -16812,7 +16812,7 @@ gtk_widget_init_template (GtkWidget *widget)
* will validate that the template is created for the correct GType and assert that * will validate that the template is created for the correct GType and assert that
* there is no infinite recursion. * there is no infinite recursion.
*/ */
if (!_gtk_builder_extend_with_template (builder, widget, class_type, if (!gtk_builder_extend_with_template (builder, widget, class_type,
(const gchar *)g_bytes_get_data (template->data, NULL), (const gchar *)g_bytes_get_data (template->data, NULL),
g_bytes_get_size (template->data), g_bytes_get_size (template->data),
&error)) &error))