From 06dfbc7dcb0ec3e68ad6760c5e61c6a9e808cc19 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Thu, 31 Jan 2013 23:02:02 -0500 Subject: [PATCH] girparser: Clean up passthrough handling Instead of remembering to have to set unknown_depth, smarten up state_switch to do it for us. https://bugzilla.gnome.org/show_bug.cgi?id=693040 --- girparser.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/girparser.c b/girparser.c index 6015a0432..d1bc81f5d 100644 --- a/girparser.c +++ b/girparser.c @@ -341,6 +341,9 @@ state_switch (ParseContext *ctx, ParseState newstate) g_assert (ctx->state != newstate); ctx->prev_state = ctx->state; ctx->state = newstate; + + if (ctx->state == STATE_PASSTHROUGH) + ctx->unknown_depth = 1; } static GIrNode * @@ -724,10 +727,7 @@ introspectable_prelude (GMarkupParseContext *context, if (introspectable) state_switch (ctx, new_state); else - { - state_switch (ctx, STATE_PASSTHROUGH); - ctx->unknown_depth = 1; - } + state_switch (ctx, STATE_PASSTHROUGH); return introspectable; } @@ -2751,7 +2751,6 @@ start_element_handler (GMarkupParseContext *context, if (strcmp (element_name, "doc") == 0) { state_switch (ctx, STATE_PASSTHROUGH); - ctx->unknown_depth = 1; goto out; } break; @@ -3014,7 +3013,6 @@ start_element_handler (GMarkupParseContext *context, ctx->file_path, line_number, char_number, element_name, ctx->state); state_switch (ctx, STATE_PASSTHROUGH); - ctx->unknown_depth = 1; } out: