Index: src/xfdesktop-file-icon-manager.c =================================================================== --- src/xfdesktop-file-icon-manager.c (revision 21756) +++ src/xfdesktop-file-icon-manager.c (working copy) @@ -1998,8 +1999,8 @@ g_signal_connect(G_OBJECT(mi), "activate", G_CALLBACK(xfdesktop_file_icon_menu_open_all), fmanager); - } else if(info) { - if(info->type == THUNAR_VFS_FILE_TYPE_DIRECTORY) { + } else if(info || volume) { + if((info && info->type == THUNAR_VFS_FILE_TYPE_DIRECTORY) || volume) { img = gtk_image_new_from_stock(GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU); gtk_widget_show(img); mi = gtk_image_menu_item_new_with_mnemonic(_("_Open")); @@ -2007,7 +2008,8 @@ gtk_widget_show(mi); gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi); g_signal_connect(G_OBJECT(mi), "activate", - G_CALLBACK(xfdesktop_file_icon_menu_other_app), + G_CALLBACK(volume?xfdesktop_file_icon_menu_executed: + xfdesktop_file_icon_menu_other_app), fmanager); } else { gboolean have_separator = FALSE; @@ -2969,7 +2971,7 @@ fmanager); } - g_hash_table_foreach(fmanager->priv->icons, + g_hash_table_foreach(fmanager->priv->removable_icons, xfdesktop_file_icon_manager_ht_remove_removable_media, fmanager); g_hash_table_destroy(fmanager->priv->removable_icons);