collect_manager_action_unref(action);
}
g_list_free(entry->add_list);
- g_hash_table_destroy(entry->oldpath_hash);
- g_hash_table_destroy(entry->newpath_hash);
+ if (g_hash_table_size(entry->oldpath_hash) > 0)
+ g_hash_table_destroy(entry->oldpath_hash);
+ else
+ g_hash_table_unref(entry->oldpath_hash);
+ if (g_hash_table_size(entry->newpath_hash) > 0)
+ g_hash_table_destroy(entry->newpath_hash);
+ else
+ g_hash_table_unref(entry->newpath_hash);
}
static void collect_manager_entry_init_data(CollectManagerEntry *entry)
else
{
collect_manager_entry_free(entry);
+
+ entry = NULL;
}
}
}
static void collect_manager_process_actions(gint max)
{
if (collection_manager_action_list) DEBUG_1("collection manager processing actions");
-
+
while (collection_manager_action_list != NULL && max > 0)
{
CollectManagerAction *action;
void collect_manager_notify_cb(FileData *fd, NotifyType type, gpointer data)
{
if (!(type & NOTIFY_CHANGE) || !fd->change) return;
-
+
DEBUG_1("Notify collect_manager: %s %04x", fd->path, type);
switch (fd->change->type)
{