When appending handlers and not matching on signal_id, use

Sun Nov  5 10:25:40 2000  Owen Taylor  <otaylor@redhat.com>

	* gsignal.c (handlers_find): When appending handlers and
	not matching on signal_id, use hlist->signal_id instead of
	signal_id. Having the correct signal_id when unreffing
	the handlers makes things work a lot better.
This commit is contained in:
Owen Taylor 2000-11-05 15:27:31 +00:00 committed by Owen Taylor
parent b0956b3b6f
commit a453526f35
3 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,10 @@
Sun Nov 5 10:25:40 2000 Owen Taylor <otaylor@redhat.com>
* gsignal.c (handlers_find): When appending handlers and
not matching on signal_id, use hlist->signal_id instead of
signal_id. Having the correct signal_id when unreffing
the handlers makes things work a lot better.
2000-11-05 Tor Lillqvist <tml@iki.fi>
* makefile.{mingw,msc}.in (gobject_OBJECTS): Add gtypeplugin.

View File

@ -33,6 +33,7 @@ gobject_public_h_sources = @STRIP_BEGIN@ \
gsignal.h \
gtype.h \
gtypeplugin.h \
gtypepluginsimple.h \
gvalue.h \
gvaluecollector.h \
gvaluetypes.h \
@ -53,6 +54,7 @@ gobject_c_sources = @STRIP_BEGIN@ \
gsignal.c \
gtype.c \
gtypeplugin.c \
gtypepluginsimple.c \
gvalue.c \
gvaluetypes.c \
@STRIP_END@

View File

@ -433,7 +433,7 @@ handlers_find (gpointer instance,
handler->closure->meta_marshal == 0 &&
((GCClosure*) handler->closure)->callback == func)))
{
mlist = handler_match_prepend (mlist, handler, signal_id);
mlist = handler_match_prepend (mlist, handler, hlist->signal_id);
if (one_and_only)
return mlist;
}