From d59333da9ecb6ca5a1e7c065fd59054dd32ec864 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 17 Oct 2017 20:00:51 +0200 Subject: [PATCH] gsksl: Don't pass matcher to function argument parser ... when an error has occured. That way we avoid duplicate error messages for nonexisting functions. --- gsk/gskslexpression.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gsk/gskslexpression.c b/gsk/gskslexpression.c index 231d9ada14..21cb1d1cc9 100644 --- a/gsk/gskslexpression.c +++ b/gsk/gskslexpression.c @@ -1980,9 +1980,12 @@ gsk_sl_expression_parse_primary (GskSlScope *scope, gsk_sl_scope_match_function (scope, &matcher, name); if (!gsk_sl_function_matcher_has_matches (&matcher)) - gsk_sl_preprocessor_error (stream, DECLARATION, "No function named \"%s\".", name); - - expr = gsk_sl_expression_parse_function_call (scope, stream, &matcher); + { + gsk_sl_preprocessor_error (stream, DECLARATION, "No function named \"%s\".", name); + expr = gsk_sl_expression_parse_function_call (scope, stream, NULL); + } + else + expr = gsk_sl_expression_parse_function_call (scope, stream, &matcher); gsk_sl_function_matcher_finish (&matcher); }