Index: rhythmdb/rhythmdb.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/rhythmdb/rhythmdb.c,v
retrieving revision 1.164
diff -u -u -r1.164 rhythmdb.c
--- rhythmdb/rhythmdb.c	30 Jan 2006 09:20:38 -0000	1.164
+++ rhythmdb/rhythmdb.c	3 Feb 2006 13:19:10 -0000
@@ -2104,7 +2104,12 @@
 void
 rhythmdb_add_uri_with_type (RhythmDB *db, const char *uri, RhythmDBEntryType type)
 {
-	char *realuri = rb_uri_resolve_symlink (uri);
+	char *realuri;
+	char *canon_uri;
+	       
+	canon_uri = rb_canonicalise_uri (uri);
+	realuri = rb_uri_resolve_symlink (canon_uri);
+	g_free (canon_uri);
 
 	if (rb_uri_is_directory (realuri)) {
 		RhythmDBAddThreadData *data = g_new0 (RhythmDBAddThreadData, 1);
Index: sources/rb-generic-player-source.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/sources/rb-generic-player-source.c,v
retrieving revision 1.1
diff -u -u -r1.1 rb-generic-player-source.c
--- sources/rb-generic-player-source.c	16 Jan 2006 13:45:46 -0000	1.1
+++ sources/rb-generic-player-source.c	3 Feb 2006 13:19:14 -0000
@@ -156,7 +156,6 @@
 static gchar *
 default_get_mount_path (RBGenericPlayerSource *source)
 {
-	gchar *path;
 	gchar *uri;
 	GnomeVFSVolume *volume;
 
@@ -164,11 +163,7 @@
 	uri = gnome_vfs_volume_get_activation_uri (volume);
 	g_object_unref (G_OBJECT (volume));
 
-	path = g_filename_from_uri (uri, NULL, NULL);
-	g_assert (path != NULL);
-	g_free (uri);
-
-	return path;
+	return uri;
 }
 
 
Index: widgets/rb-druid.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-druid.c,v
retrieving revision 1.12
diff -u -u -r1.12 rb-druid.c
--- widgets/rb-druid.c	5 Jan 2006 11:16:49 -0000	1.12
+++ widgets/rb-druid.c	3 Feb 2006 13:19:14 -0000
@@ -267,9 +267,9 @@
 		return;
 	}
 
-	file = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+	file = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (dialog));
 	if (file == NULL) {
-		file = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog));
+		file = gtk_file_chooser_get_current_folder_uri (GTK_FILE_CHOOSER (dialog));
 	}
 
 	gtk_widget_destroy (GTK_WIDGET (dialog));
