diff options
Diffstat (limited to 'src/analysis/loading.c')
-rw-r--r-- | src/analysis/loading.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/analysis/loading.c b/src/analysis/loading.c index 0ded268..664b8d6 100644 --- a/src/analysis/loading.c +++ b/src/analysis/loading.c @@ -782,6 +782,8 @@ void g_content_explorer_delete_group(GContentExplorer *explorer, wgroup_id_t wid g_work_queue_delete_work_group(queue, group->wid); + g_object_unref(G_OBJECT(group->original)); + for (i = 0; i < group->count; i++) g_object_unref(G_OBJECT(group->contents[i])); @@ -802,8 +804,7 @@ void g_content_explorer_delete_group(GContentExplorer *explorer, wgroup_id_t wid memmove(&explorer->groups[index], &explorer->groups[index + 1], (explorer->count - index - 1) * sizeof(exploring_group)); - explorer->groups = (exploring_group *)realloc(explorer->groups, - --explorer->count * sizeof(exploring_group)); + explorer->groups = realloc(explorer->groups, --explorer->count * sizeof(exploring_group)); /* Sortie */ @@ -839,7 +840,7 @@ void g_content_explorer_populate_group(GContentExplorer *explorer, wgroup_id_t w /* Conservation du résultat */ - group->contents = (GBinContent **)realloc(group->contents, ++group->count * sizeof(GBinContent *)); + group->contents = realloc(group->contents, ++group->count * sizeof(GBinContent *)); group->contents[group->count - 1] = content; g_object_ref(G_OBJECT(content)); @@ -885,7 +886,7 @@ void g_content_explorer_note_detected(GContentExplorer *explorer, wgroup_id_t wi group = g_content_explorer_find_group(explorer, wid); assert(group != NULL); - group->loaded = (GLoadedContent **)realloc(group->loaded, ++group->noted * sizeof(GLoadedContent *)); + group->loaded = realloc(group->loaded, ++group->noted * sizeof(GLoadedContent *)); group->loaded[group->noted - 1] = loaded; g_object_ref(G_OBJECT(loaded)); @@ -923,7 +924,7 @@ GBinContent **g_content_explorer_get_all(GContentExplorer *explorer, wgroup_id_t /* Allocation de la liste finale */ *count = 1 + group->count; - result = (GBinContent **)malloc(*count * sizeof(GBinContent *)); + result = malloc(*count * sizeof(GBinContent *)); /* On regarde déjà du côté de la source */ @@ -1438,7 +1439,7 @@ void g_content_resolver_create_group(GContentResolver *resolver, wgroup_id_t wid if (noted > 0) { group->count = noted; - group->loaded = (GLoadedContent **)realloc(group->loaded, group->count * sizeof(GLoadedContent *)); + group->loaded = realloc(group->loaded, group->count * sizeof(GLoadedContent *)); for (i = 0; i < noted; i++) { @@ -1496,6 +1497,9 @@ void g_content_resolver_delete_group(GContentResolver *resolver, wgroup_id_t wid for (i = 0; i < group->count; i++) g_object_unref(G_OBJECT(group->loaded[i])); + if (group->loaded != NULL) + free(group->loaded); + /* Réorganisation de la liste */ index = group - resolver->groups; @@ -1504,8 +1508,7 @@ void g_content_resolver_delete_group(GContentResolver *resolver, wgroup_id_t wid memmove(&resolver->groups[index], &resolver->groups[index + 1], (resolver->count - index - 1) * sizeof(resolving_group)); - resolver->groups = (resolving_group *)realloc(resolver->groups, - --resolver->count * sizeof(resolving_group)); + resolver->groups = realloc(resolver->groups, --resolver->count * sizeof(resolving_group)); /* Sortie */ @@ -1537,7 +1540,7 @@ void g_content_resolver_add_detected(GContentResolver *resolver, wgroup_id_t wid group = g_content_resolver_find_group(resolver, wid); assert(group != NULL); - group->loaded = (GLoadedContent **)realloc(group->loaded, ++group->count * sizeof(GLoadedContent *)); + group->loaded = realloc(group->loaded, ++group->count * sizeof(GLoadedContent *)); group->loaded[group->count - 1] = loaded; g_object_ref(G_OBJECT(loaded)); @@ -1575,7 +1578,7 @@ GLoadedContent **g_content_resolver_get_all(GContentResolver *resolver, wgroup_i /* Allocation de la liste finale */ *count = group->count; - result = (GLoadedContent **)malloc(*count * sizeof(GLoadedContent *)); + result = malloc(*count * sizeof(GLoadedContent *)); /* On parcourt les éventuels contenus encapsulés découverts */ |