From edf4c171650ae713115235c678571e8900d4c9b8 Mon Sep 17 00:00:00 2001 From: Cody Russell Date: Tue, 14 Aug 2007 22:55:23 +0000 Subject: [PATCH] g_type_default_interface_ref() was not ensuring working g_signal_list_ids. 2007-08-14 Cody Russell * gobject/gsignal.c: g_type_default_interface_ref() was not ensuring working g_signal_list_ids. Added checks for !G_TYPE_IS_INTERFACE (itype). (#465625, by some guy who calls himself Yeti) svn path=/trunk/; revision=5704 --- ChangeLog | 7 +++++++ gobject/gsignal.c | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 37295d5b..13e200e6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-08-14 Cody Russell + + * gobject/gsignal.c: g_type_default_interface_ref() was not + ensuring working g_signal_list_ids. Added checks for + !G_TYPE_IS_INTERFACE (itype). + (#465625, by some guy who calls himself Yeti) + Tue Aug 14 02:06:10 2007 Tim Janik * glib/gthread.c (g_once_init_enter_impl): prevent race covered diff --git a/gobject/gsignal.c b/gobject/gsignal.c index c65565ae..8ce1b6c6 100644 --- a/gobject/gsignal.c +++ b/gobject/gsignal.c @@ -1058,10 +1058,10 @@ g_signal_list_ids (GType itype, if (!g_type_name (itype)) g_warning (G_STRLOC ": unable to list signals for invalid type id `%lu'", itype); - else if (!G_TYPE_IS_INSTANTIATABLE (itype)) + else if (!G_TYPE_IS_INSTANTIATABLE (itype) && !G_TYPE_IS_INTERFACE (itype)) g_warning (G_STRLOC ": unable to list signals of non instantiatable type `%s'", g_type_name (itype)); - else if (!g_type_class_peek (itype)) + else if (!g_type_class_peek (itype) && !G_TYPE_IS_INTERFACE (itype)) g_warning (G_STRLOC ": unable to list signals of unloaded type `%s'", g_type_name (itype)); } -- 2.34.1