diff options
Diffstat (limited to 'gtk/gtkbuilderparser.c')
-rw-r--r-- | gtk/gtkbuilderparser.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/gtk/gtkbuilderparser.c b/gtk/gtkbuilderparser.c index 94c5b8b6c1..dac4a75984 100644 --- a/gtk/gtkbuilderparser.c +++ b/gtk/gtkbuilderparser.c @@ -1269,8 +1269,19 @@ _gtk_builder_parser_parse_buffer (GtkBuilder *builder, G_MARKUP_TREAT_CDATA_AS_TEXT, &data, NULL); - if (!g_markup_parse_context_parse (data.ctx, buffer, length, error)) - goto out; + if (buffer[0] == 'G' && + buffer[1] == 'M' && + buffer[2] == 'U' && + buffer[3] == 0) + { + if (!g_markup_parse_context_replay (data.ctx, buffer, length, error)) + goto out; + } + else + { + if (!g_markup_parse_context_parse (data.ctx, buffer, length, error)) + goto out; + } _gtk_builder_finish (builder); if (_gtk_builder_lookup_failed (builder, error)) |