Move call to g_type_free_instance() here from g_object_do_finalize, since

Sat Sep  9 20:04:13 2000  Owen Taylor  <otaylor@redhat.com>

	* 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.
This commit is contained in:
Owen Taylor 2000-09-10 16:01:15 +00:00 committed by Owen Taylor
parent 9432265430
commit 25c1ae6c11
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,10 @@
Sat Sep 9 20:04:13 2000 Owen Taylor <otaylor@redhat.com>
* 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 <tml@iki.fi>
* gobject.c: No, don't mark glib_debug_objects for export here,

View File

@ -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