diff --git a/src/backends/meta-color-store.c b/src/backends/meta-color-store.c index 35c2ef28c..d24598844 100644 --- a/src/backends/meta-color-store.c +++ b/src/backends/meta-color-store.c @@ -99,13 +99,16 @@ on_directory_profile_ready (MetaColorProfile *color_profile, g_object_ref (color_profile); - if (!g_hash_table_steal (color_store->pending_local_profiles, - meta_color_profile_get_file_path (color_profile))) - g_warn_if_reached (); + if (!g_hash_table_remove (color_store->pending_local_profiles, + meta_color_profile_get_file_path (color_profile))) + { + g_object_unref (color_profile); + g_warn_if_reached (); + } g_hash_table_insert (color_store->profiles, g_strdup (meta_color_profile_get_id (color_profile)), - color_profile); + g_object_ref (color_profile)); meta_topic (META_DEBUG_COLOR, "Created colord profile '%s' from '%s'", meta_color_profile_get_id (color_profile),