if ((captive_shared_cache_map_object=captive_private_bcb_object->SharedCacheMap)) {
g_assert(captive_shared_cache_map_object->map==captive_private_bcb_map_object);
captive_shared_cache_map_object->map=NULL;
- g_object_unref(captive_shared_cache_map_object);
+ g_object_unref(captive_shared_cache_map_object); /* 'map' disconnected. */
}
G_OBJECT_CLASS(captive_private_bcb_map_object_parent_class)->finalize((GObject *)captive_private_bcb_map_object);
{
GObjectClass *gobject_class=G_OBJECT_CLASS(class);
- captive_private_bcb_map_object_parent_class=g_type_class_ref(G_TYPE_OBJECT);
+ captive_private_bcb_map_object_parent_class=g_type_class_ref(g_type_parent(G_TYPE_FROM_CLASS(class)));
gobject_class->finalize=(void (*)(GObject *object))captive_private_bcb_map_object_finalize;
}
g_assert(captive_shared_cache_map_object->map==NULL);
captive_shared_cache_map_object->map=captive_private_bcb_map_object;
+ g_object_ref(captive_shared_cache_map_object); /* 'map' connected. */
return captive_private_bcb_map_object;
}