From 9ec6c1934233dfb334ab6a0551768ce75f795fe9 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 1 Nov 2023 10:53:55 +0000 Subject: [PATCH] gsignalgroup: Avoid function call with side effect in g_return_* macro --- gobject/gsignalgroup.c | 9 +++++++-- gobject/tests/signalgroup.c | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gobject/gsignalgroup.c b/gobject/gsignalgroup.c index 1afe91f89..b0e7cbecc 100644 --- a/gobject/gsignalgroup.c +++ b/gobject/gsignalgroup.c @@ -717,10 +717,15 @@ g_signal_group_connect_closure_ (GSignalGroup *self, g_return_val_if_fail (G_IS_SIGNAL_GROUP (self), FALSE); g_return_val_if_fail (detailed_signal != NULL, FALSE); - g_return_val_if_fail (g_signal_parse_name (detailed_signal, self->target_type, - &signal_id, &signal_detail, TRUE) != 0, FALSE); g_return_val_if_fail (closure != NULL, FALSE); + if (!g_signal_parse_name (detailed_signal, self->target_type, + &signal_id, &signal_detail, TRUE)) + { + g_critical ("Invalid signal name “%s”", detailed_signal); + return FALSE; + } + g_rec_mutex_lock (&self->mutex); if (self->has_bound_at_least_once) diff --git a/gobject/tests/signalgroup.c b/gobject/tests/signalgroup.c index 436d7ead1..198c16ca4 100644 --- a/gobject/tests/signalgroup.c +++ b/gobject/tests/signalgroup.c @@ -305,7 +305,7 @@ test_signal_group_invalid (void) /* Invalid Signal Name */ g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, - "*g_signal_parse_name*"); + "*Invalid signal name “does-not-exist”*"); group = g_signal_group_new (signal_target_get_type ()); g_signal_group_connect (group, "does-not-exist",