GDesktopAppInfo: fix default app logic
authorRyan Lortie <desrt@desrt.ca>
Thu, 4 Sep 2014 17:17:27 +0000 (13:17 -0400)
committerRyan Lortie <desrt@desrt.ca>
Thu, 4 Sep 2014 18:48:05 +0000 (14:48 -0400)
We use "tweaks" structures to track how a particular directory impacts
the list of added, removed and default applications.  We maintain this
set of tweaks for each directory, in a hash table, keyed by unaliased
mime type name, in order to facilitate fast lookups.

A typo in the logic for creating and maintaining the uniqueness of these
structures was causing the default app to be selected incorrectly from
time to time.  Fix that.

gio/gdesktopappinfo.c

index 1d38d4a..ddec690 100644 (file)
@@ -641,7 +641,7 @@ desktop_file_dir_unindexed_get_tweaks (DesktopFileDir *dir,
   gchar *unaliased_type;
 
   unaliased_type = _g_unix_content_type_unalias (mime_type);
-  tweaks = g_hash_table_lookup (dir->mime_tweaks, mime_type);
+  tweaks = g_hash_table_lookup (dir->mime_tweaks, unaliased_type);
 
   if (tweaks == NULL)
     {