From ca4e2341135a8212ba45f2b3091f6f3cd9302b24 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 4 Oct 2004 20:20:05 +0000 Subject: [PATCH] Improve the warning if G_SIGNAL_NO_HOOKS is set. (#154299, Nickolay V. 2004-10-04 Matthias Clasen * gsignal.c (g_signal_add_emission_hook): Improve the warning if G_SIGNAL_NO_HOOKS is set. (#154299, Nickolay V. Shmyrev) --- gobject/ChangeLog | 5 +++++ gobject/gsignal.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gobject/ChangeLog b/gobject/ChangeLog index 241e42c3..36d15487 100644 --- a/gobject/ChangeLog +++ b/gobject/ChangeLog @@ -1,3 +1,8 @@ +2004-10-04 Matthias Clasen + + * gsignal.c (g_signal_add_emission_hook): Improve the warning + if G_SIGNAL_NO_HOOKS is set. (#154299, Nickolay V. Shmyrev) + 2004-09-22 Tor Lillqvist * Makefile.am (install-libtool-import-lib): [Win32] Add code to diff --git a/gobject/gsignal.c b/gobject/gsignal.c index 9aa2dc35..aa24dd9c 100644 --- a/gobject/gsignal.c +++ b/gobject/gsignal.c @@ -825,12 +825,18 @@ g_signal_add_emission_hook (guint signal_id, SIGNAL_LOCK (); node = LOOKUP_SIGNAL_NODE (signal_id); - if (!node || node->destroyed || (node->flags & G_SIGNAL_NO_HOOKS)) + if (!node || node->destroyed) { g_warning ("%s: invalid signal id `%u'", G_STRLOC, signal_id); SIGNAL_UNLOCK (); return 0; } + if (node->flags & G_SIGNAL_NO_HOOKS) + { + g_warning ("%s: signal id `%u' does not support emission hooks (G_SIGNAL_NO_HOOKS flag set)", G_STRLOC, signal_id); + SIGNAL_UNLOCK (); + return 0; + } if (detail && !(node->flags & G_SIGNAL_DETAILED)) { g_warning ("%s: signal id `%u' does not support detail (%u)", G_STRLOC, signal_id, detail); -- 2.34.1