diff options
author | Benjamin Otte <otte@redhat.com> | 2023-05-14 23:12:23 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2023-05-16 18:53:53 +0200 |
commit | 2b0e3a5b1a595c5c8463706452637c3ed716e0c8 (patch) | |
tree | d40d532bc6dcd8f330acd08ae4fa7fd6e941b427 | |
parent | bac41ce644e41ce9e520fa5e1433f1bdf925db75 (diff) | |
download | gtk+-2b0e3a5b1a595c5c8463706452637c3ed716e0c8.tar.gz |
nodeparser: Move an error check
By putting the check earlier, it will be emitted for the right token.
-rw-r--r-- | gsk/gskrendernodeparser.c | 17 | ||||
-rw-r--r-- | testsuite/gsk/nodeparser/debug-fail.errors | 4 | ||||
-rw-r--r-- | testsuite/gsk/nodeparser/gradient-fail.errors | 2 | ||||
-rw-r--r-- | testsuite/gsk/nodeparser/shadow-fail.errors | 2 | ||||
-rw-r--r-- | testsuite/gsk/nodeparser/text-fail.errors | 4 |
5 files changed, 15 insertions, 14 deletions
diff --git a/gsk/gskrendernodeparser.c b/gsk/gskrendernodeparser.c index 5c29ce0918..c8ffad4bd1 100644 --- a/gsk/gskrendernodeparser.c +++ b/gsk/gskrendernodeparser.c @@ -1081,20 +1081,21 @@ parse_declarations (GtkCssParser *parser, { if (gtk_css_parser_try_ident (parser, declarations[i].name)) { + if (parsed & (1 << i)) + { + gtk_css_parser_warn_syntax (parser, "Variable \"%s\" defined multiple times", declarations[i].name); + /* Unset, just to be sure */ + parsed &= ~(1 << i); + if (declarations[i].clear_func) + declarations[i].clear_func (declarations[i].result); + } + if (!gtk_css_parser_try_token (parser, GTK_CSS_TOKEN_COLON)) { gtk_css_parser_error_syntax (parser, "Expected ':' after variable declaration"); } else { - if (parsed & (1 << i)) - { - gtk_css_parser_warn_syntax (parser, "Variable \"%s\" defined multiple times", declarations[i].name); - /* Unset, just to be sure */ - parsed &= ~(1 << i); - if (declarations[i].clear_func) - declarations[i].clear_func (declarations[i].result); - } if (!declarations[i].parse_func (parser, context, declarations[i].result)) { /* nothing to do */ diff --git a/testsuite/gsk/nodeparser/debug-fail.errors b/testsuite/gsk/nodeparser/debug-fail.errors index e8b664c7d9..0b8b382c70 100644 --- a/testsuite/gsk/nodeparser/debug-fail.errors +++ b/testsuite/gsk/nodeparser/debug-fail.errors @@ -1,2 +1,2 @@ -<data>:5:10-11: error: GTK_CSS_PARSER_WARNING_SYNTAX -<data>:6:8-9: error: GTK_CSS_PARSER_WARNING_SYNTAX +<data>:5:3-10: error: GTK_CSS_PARSER_WARNING_SYNTAX +<data>:6:3-8: error: GTK_CSS_PARSER_WARNING_SYNTAX diff --git a/testsuite/gsk/nodeparser/gradient-fail.errors b/testsuite/gsk/nodeparser/gradient-fail.errors index 052224ba76..259b20a3d5 100644 --- a/testsuite/gsk/nodeparser/gradient-fail.errors +++ b/testsuite/gsk/nodeparser/gradient-fail.errors @@ -1 +1 @@ -<data>:3:8-9: error: GTK_CSS_PARSER_WARNING_SYNTAX +<data>:3:3-8: error: GTK_CSS_PARSER_WARNING_SYNTAX diff --git a/testsuite/gsk/nodeparser/shadow-fail.errors b/testsuite/gsk/nodeparser/shadow-fail.errors index bb77a372fc..d6984612c1 100644 --- a/testsuite/gsk/nodeparser/shadow-fail.errors +++ b/testsuite/gsk/nodeparser/shadow-fail.errors @@ -2,7 +2,7 @@ <data>:2:11-13: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE <data>:2:13-14: error: GTK_CSS_PARSER_ERROR_SYNTAX <data>:2:13-14: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE -<data>:3:9-10: error: GTK_CSS_PARSER_WARNING_SYNTAX +<data>:3:2-9: error: GTK_CSS_PARSER_WARNING_SYNTAX <data>:3:11-13: error: GTK_CSS_PARSER_ERROR_SYNTAX <data>:3:11-13: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE <data>:3:13-14: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/gsk/nodeparser/text-fail.errors b/testsuite/gsk/nodeparser/text-fail.errors index 1df16b5cff..612c1ad4b5 100644 --- a/testsuite/gsk/nodeparser/text-fail.errors +++ b/testsuite/gsk/nodeparser/text-fail.errors @@ -1,3 +1,3 @@ -<data>:4:7-8: error: GTK_CSS_PARSER_WARNING_SYNTAX -<data>:6:9-10: error: GTK_CSS_PARSER_WARNING_SYNTAX +<data>:4:3-7: error: GTK_CSS_PARSER_WARNING_SYNTAX +<data>:6:3-9: error: GTK_CSS_PARSER_WARNING_SYNTAX <data>:8:1-2: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE |