diff options
Diffstat (limited to 'src/arch/sharing/instance.c')
-rw-r--r-- | src/arch/sharing/instance.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/arch/sharing/instance.c b/src/arch/sharing/instance.c index c0038aa..39dacec 100644 --- a/src/arch/sharing/instance.c +++ b/src/arch/sharing/instance.c @@ -78,6 +78,11 @@ bool g_shared_instance_init(GSharedInstance *instance, const GSharedInstance *te iface = G_SHARED_INSTANCE_GET_IFACE(instance); + /** + * Le compteur de références des objets GLib doit être incrémenté ici, + * à la différence d'une opération de copie minimaliste. + */ + result = iface->init(instance, template); return result; @@ -104,6 +109,11 @@ void g_shared_instance_quickly_copy(const GSharedInstance *instance, GSharedInst iface = G_SHARED_INSTANCE_GET_IFACE(instance); + /** + * Le compteur de références des objets GLib ne doit pas être incrémenté ici. + * Ce genre de traitement est réservé à la phase d'initialisation. + */ + iface->qck_copy(instance, template); } |