Index: src/trackerd/tracker-monitor.c =================================================================== --- src/trackerd/tracker-monitor.c (revision 3163) +++ src/trackerd/tracker-monitor.c (working copy) @@ -493,21 +493,21 @@ GFile *file) { GHashTable *hash_table; - GList *all_modules, *l; + GHashTableIter iter; + gpointer key, value; const gchar *module_name = NULL; - all_modules = g_hash_table_get_keys (modules); + g_hash_table_iter_init (&iter, modules); - for (l = all_modules; l && !module_name; l = l->next) { - hash_table = g_hash_table_lookup (modules, l->data); + while (g_hash_table_iter_next (&iter, &key, &value)) { + hash_table = (GHashTable *) value; if (g_hash_table_lookup (hash_table, file)) { - module_name = l->data; + module_name = (const gchar *) key; + break; } } - g_list_free (all_modules); - return module_name; }