Skip to content

WIP: Avoid parsing XML on each instance creation for template files

Alexander Larsson requested to merge alexl/gtk:preparsed-xml into master

This is a new version of !328 (closed), but targeting gtk4, thus allowing us to not change glib.

Instead of changing glib we mirror the required APIs as GtkBuildableParseContext and use that instead of GMarkup in the GtkBuildable API. This allows us to also support a precompiled form of xml. We also expose a gtk_buildable_parser_precompile function, which we automatically use when registering widget templates.

Not part of this commit is ahead-of-time pre-compilation into the resource files, but that is an obvious next step to avoid even more runtime work.

Merge request reports