From b7d54841ee594eebfec33d6dc32596eef32acbfd Mon Sep 17 00:00:00 2001 From: Tim Janik Date: Thu, 22 Mar 2001 13:42:42 +0000 Subject: [PATCH] catch G_SIGNAL_RUN_FIRST with a return value. Thu Mar 22 13:36:50 2001 Tim Janik * gsignal.c (g_signal_newv): catch G_SIGNAL_RUN_FIRST with a return value. --- gobject/ChangeLog | 4 ++++ gobject/gsignal.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/gobject/ChangeLog b/gobject/ChangeLog index 37487b7..d59e807 100644 --- a/gobject/ChangeLog +++ b/gobject/ChangeLog @@ -1,3 +1,7 @@ +Thu Mar 22 13:36:50 2001 Tim Janik + + * gsignal.c (g_signal_newv): catch G_SIGNAL_RUN_FIRST with a return value. + 2001-03-21 Martin Baulig * gboxed.[ch] (g_value_dup_boxed): This takes a `const GValue *' diff --git a/gobject/gsignal.c b/gobject/gsignal.c index c518321..c78563d 100644 --- a/gobject/gsignal.c +++ b/gobject/gsignal.c @@ -1109,6 +1109,16 @@ g_signal_newv (const gchar *signal_name, G_UNLOCK (g_signal_mutex); return 0; } + if (return_type != G_TYPE_NONE && + (signal_flags & (G_SIGNAL_RUN_FIRST | G_SIGNAL_RUN_LAST | G_SIGNAL_RUN_CLEANUP)) == G_SIGNAL_RUN_FIRST) + { + g_warning (G_STRLOC ": signal \"%s::%s\" has return type `%s' and is only G_SIGNAL_RUN_FIRST", + g_type_name (itype), name, + g_type_name (return_type & ~G_SIGNAL_TYPE_STATIC_SCOPE)); + g_free (name); + G_UNLOCK (g_signal_mutex); + return 0; + } /* setup permanent portion of signal node */ if (!node) -- 2.7.4