summaryrefslogtreecommitdiff
path: root/gtk/gtkcssparser.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkcssparser.c')
-rw-r--r--gtk/gtkcssparser.c13
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++;