fixed a bag full of subtle bugs of immensive screw-up potential in

Sun Nov  5 05:22:55 2000  Tim Janik  <timj@gtk.org>

        * gsignal.c:
        fixed a bag full of subtle bugs of immensive screw-up potential in
        handlers_find(), luckily no one found out about them yet ;)
        fixed signal_handlers_foreach_matched_R() so it operates on an
        initial handler list snapshot provided by handlers_find() to work
        around general reentrancy problems and to avoid multiple callback()
        invocations on the same handlers.
        this code is now officially 80% bug free (10% remaining for interface
        types, and 10% remaining for destroyed signals ;)

Sat Nov  4 02:01:33 2000  Tim Janik  <timj@gtk.org>

        * gsignal.c (_g_signals_destroy): valid signal nodes start out at 1.

        * gtypeplugin.[hc]: new files holding a GTypePlugin interface
        implementation that provides the API required by GType to deal with
        dynamically loadable types.

        * gtype.[hc]: displace any GTypePlugin business to gtypeplugin.h.
This commit is contained in:
Tim Janik
2000-11-05 05:07:26 +00:00
committed by Tim Janik
parent 3cc60a9ab1
commit 83c45024e3
11 changed files with 428 additions and 176 deletions

View File

@@ -295,7 +295,7 @@ g_object_do_shutdown (GObject *object)
static void
g_object_do_finalize (GObject *object)
{
_g_signal_handlers_destroy (object);
g_signal_handlers_destroy (object);
g_datalist_clear (&object->qdata);
#ifdef DEBUG_OBJECTS