diff options
Diffstat (limited to 'gtk/gtkcssparser.c')
-rw-r--r-- | gtk/gtkcssparser.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/gtk/gtkcssparser.c b/gtk/gtkcssparser.c index e9fe6a4fdb..2d6a4df3d0 100644 --- a/gtk/gtkcssparser.c +++ b/gtk/gtkcssparser.c @@ -61,7 +61,7 @@ _gtk_css_parser_new (const char *data, parser->user_data = user_data; parser->line_start = data; - parser->line = 1; + parser->line = 0; return parser; } @@ -875,17 +875,20 @@ _gtk_css_parser_resync_internal (GtkCssParser *parser, case '(': parser->data++; _gtk_css_parser_resync (parser, FALSE, ')'); - parser->data++; + if (*parser->data) + parser->data++; break; case '[': parser->data++; _gtk_css_parser_resync (parser, FALSE, ']'); - parser->data++; + if (*parser->data) + parser->data++; break; case '{': parser->data++; _gtk_css_parser_resync (parser, FALSE, '}'); - parser->data++; + if (*parser->data) + parser->data++; if (sync_at_semicolon || !terminator) { _gtk_css_parser_skip_whitespace (parser); @@ -902,6 +905,8 @@ _gtk_css_parser_resync_internal (GtkCssParser *parser, } parser->data++; continue; + case '\0': + break; case '/': default: parser->data++; |