Il 13/06/2012 12:28, Andreas Färber ha scritto:
> I am pretty certain that object_new() is NOT called recursively!
It is for interfaces:
object_new
->object_new_with_type
->object_initialize_with_type
->object_init_with_type
->object_interface_init
and then:
static void object_interface_init(Object *obj, InterfaceImpl *iface)
{
TypeImpl *ti = iface->type;
Interface *iface_obj;
assert(!object_is_interface(obj));
iface_obj = INTERFACE(object_new(ti->name));
iface_obj->iface_obj = obj;
iface_obj->iface_parent.interfaces = INTERFACE_MAGIC;
obj->interfaces = g_slist_prepend(obj->interfaces, iface_obj);
}
Paolo