summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2023-05-14 23:12:23 +0200
committerBenjamin Otte <otte@redhat.com>2023-05-16 18:53:53 +0200
commit2b0e3a5b1a595c5c8463706452637c3ed716e0c8 (patch)
treed40d532bc6dcd8f330acd08ae4fa7fd6e941b427
parentbac41ce644e41ce9e520fa5e1433f1bdf925db75 (diff)
downloadgtk+-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.c17
-rw-r--r--testsuite/gsk/nodeparser/debug-fail.errors4
-rw-r--r--testsuite/gsk/nodeparser/gradient-fail.errors2
-rw-r--r--testsuite/gsk/nodeparser/shadow-fail.errors2
-rw-r--r--testsuite/gsk/nodeparser/text-fail.errors4
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