diff --git a/tumblerd/tumbler-manager.c b/tumblerd/tumbler-manager.c index db5d64e..cbeed91 100644 --- a/tumblerd/tumbler-manager.c +++ b/tumblerd/tumbler-manager.c @@ -1182,0 +1183 @@ tumbler_manager_load (TumblerManager *manager) + GHashTable *single_path; @@ -1206,0 +1208,3 @@ tumbler_manager_load (TumblerManager *manager) + /* Create a ghash table to insert loaded directory path to avoid duplication */ + single_path = g_hash_table_new_full (g_file_hash, (GEqualFunc)g_file_equal, g_object_unref, NULL); + @@ -1209,0 +1214,8 @@ tumbler_manager_load (TumblerManager *manager) + GFile *path; + path = g_file_new_for_path(data_dirs[n]); + + if (!g_hash_table_lookup (single_path, path)) + { + /* Save it in the hash table so we can relocate it */ + g_hash_table_insert (single_path, path, path); + @@ -1213,0 +1226,8 @@ tumbler_manager_load (TumblerManager *manager) + else /* We have already visited that directory */ + { + g_object_unref(path); + } + } + + /*destroy the hash table used for loading single pathes */ + g_hash_table_destroy (single_path);