From: Owen Taylor Date: Sun, 10 Sep 2000 16:01:15 +0000 (+0000) Subject: Move call to g_type_free_instance() here from g_object_do_finalize, since X-Git-Tag: GNOME_PRINT_0_24~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=25c1ae6c1123bdb55cad1b7a450c83db0d1b0554;p=platform%2Fupstream%2Fglib.git Move call to g_type_free_instance() here from g_object_do_finalize, since Sat Sep 9 20:04:13 2000 Owen Taylor * gobject.c (g_object_last_unref): Move call to g_type_free_instance() here from g_object_do_finalize, since g_type_free_instance() can unload the object's implementation. --- diff --git a/gobject/ChangeLog b/gobject/ChangeLog index 1d1a22d..ebc75be 100644 --- a/gobject/ChangeLog +++ b/gobject/ChangeLog @@ -1,3 +1,10 @@ +Sat Sep 9 20:04:13 2000 Owen Taylor + + * gobject.c (g_object_last_unref): Move call to + g_type_free_instance() here from g_object_do_finalize, + since g_type_free_instance() can unload the object's + implementation. + 2000-07-27 Tor Lillqvist * gobject.c: No, don't mark glib_debug_objects for export here, diff --git a/gobject/gobject.c b/gobject/gobject.c index 9dc289f..7f47335 100644 --- a/gobject/gobject.c +++ b/gobject/gobject.c @@ -270,7 +270,10 @@ g_object_last_unref (GObject *object) object->ref_count -= 1; if (object->ref_count == 0) /* may have been re-referenced meanwhile */ - G_OBJECT_GET_CLASS (object)->finalize (object); + { + G_OBJECT_GET_CLASS (object)->finalize (object); + g_type_free_instance ((GTypeInstance*) object); + } } static void @@ -296,8 +299,6 @@ g_object_do_finalize (GObject *object) debug_objects_count--; } #endif DEBUG_OBJECTS - - g_type_free_instance ((GTypeInstance*) object); } gpointer