diff options
Diffstat (limited to 'src/analysis/storage/storage.c')
-rw-r--r-- | src/analysis/storage/storage.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/analysis/storage/storage.c b/src/analysis/storage/storage.c index d64a08e..c63f7d0 100644 --- a/src/analysis/storage/storage.c +++ b/src/analysis/storage/storage.c @@ -360,7 +360,7 @@ GSerializableObject *g_object_storage_load_object(GObjectStorage *storage, const if (result) { - status = g_serializable_object_load(result, storage, storage->tpmem, &pbuf); + status = g_serializable_object_load(result, storage, &pbuf); if (!status) g_clear_object(&result); @@ -402,11 +402,16 @@ bool g_object_storage_store_object(GObjectStorage *storage, const char *name, co init_packed_buffer(&pbuf); - result = g_serializable_object_store(object, storage, storage->tpmem, &pbuf); + result = g_type_memory_store_object_gtype(storage->tpmem, G_OBJECT(object), &pbuf); + if (!result) goto exit; + + result = g_serializable_object_store(object, storage, &pbuf); if (!result) goto exit; /* Enregistrement */ + result = false; + g_mutex_lock(&storage->mutex); backend = g_object_storage_find_backend(storage, name); |