Index: src/totem-playlist.c
===================================================================
--- src/totem-playlist.c	(revision 5134)
+++ src/totem-playlist.c	(working copy)
@@ -366,37 +366,34 @@
 
 static void
 drop_cb (GtkWidget        *widget,
-         GdkDragContext   *context, 
+         GdkDragContext   *context,
 	 gint              x,
 	 gint              y,
-	 GtkSelectionData *data, 
-	 guint             info, 
-	 guint             time, 
+	 GtkSelectionData *data,
+	 guint             info,
+	 guint             time,
 	 TotemPlaylist    *playlist)
 {
-	GList *list, *p, *file_list;
+	gchar **uris;
+	GList *p, *file_list;
 
-	list = gnome_vfs_uri_list_parse ((char *)data->data);
+	uris = g_uri_list_extract_uris ((const char *)data->data);
 
-	if (list == NULL) {
+	if (uris == NULL) {
 		gtk_drag_finish (context, FALSE, FALSE, time);
 		return;
 	}
 
-	p = list;
 	file_list = NULL;
 
-	while (p != NULL) {
+	while (*uris != NULL) {
 		/* We get the list in the wrong order here,
 		 * so when we insert the files at the same position
 		 * in the tree, they are in the right order.*/
-		file_list = g_list_prepend (file_list,
-					    gnome_vfs_uri_to_string ((const GnomeVFSURI*)(p->data), 0));
-		p = p->next;
+		file_list = g_list_prepend (file_list, *uris);
+		uris++;
 	}
 
-	gnome_vfs_uri_list_free (list);
-
 	if (file_list == NULL) {
 		gtk_drag_finish (context, FALSE, FALSE, time);
 		return;
@@ -475,7 +472,7 @@
 			    PLAYING_COL, &playing,
 			    -1);
 
-	gtk_list_store_set (GTK_LIST_STORE(playlist->priv->model), &iter, 
+	gtk_list_store_set (GTK_LIST_STORE(playlist->priv->model), &iter,
 			    SUBTITLE_URI_COL, subtitle,
 			    -1);
 
@@ -551,7 +548,7 @@
 	}
 
 	count = gtk_tree_selection_count_selected_rows (playlist->priv->selection);
-	
+
 	if (count == 0) {
 		return FALSE;
 	}
@@ -638,9 +635,9 @@
 	}
 }
 
-static gboolean 
+static gboolean
 button_press_cb (GtkWidget *treeview, GdkEventButton *event, gpointer data)
-{ 
+{
 	TotemPlaylist *playlist = (TotemPlaylist *)data;
 
 	if (playlist->priv->drop_disabled)
@@ -655,7 +652,7 @@
 	return FALSE;
 }
 
-static gboolean 
+static gboolean
 button_release_cb (GtkWidget *treeview, GdkEventButton *event, gpointer data)
 {
 	TotemPlaylist *playlist = (TotemPlaylist *)data;
@@ -675,7 +672,7 @@
 	return FALSE;
 }
 
-static void 
+static void
 drag_begin_cb (GtkWidget *treeview, GdkDragContext *context, gpointer data)
 {
 	TotemPlaylist *playlist = (TotemPlaylist *)data;
@@ -685,7 +682,7 @@
 	return;
 }
 
-static void 
+static void
 drag_end_cb (GtkWidget *treeview, GdkDragContext *context, gpointer data)
 {
 	TotemPlaylist *playlist = (TotemPlaylist *)data;
@@ -2116,7 +2113,7 @@
 				      path, NULL,
 				      TRUE, 0.5, 0);
 	gtk_tree_path_free (path);
-	
+
 	return TRUE;
 }
 
@@ -2234,7 +2231,7 @@
 
 	return playlist->priv->repeat;
 }
-	
+
 void
 totem_playlist_set_repeat (TotemPlaylist *playlist, gboolean repeat)
 {
Index: src/totem.c
===================================================================
--- src/totem.c	(revision 5134)
+++ src/totem.c	(working copy)
@@ -1,5 +1,5 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* 
+/*
  * Copyright (C) 2001-2007 Bastien Nocera <hadess@hadess.net>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -904,7 +904,7 @@
 
 gboolean
 totem_action_set_mrl_with_warning (Totem *totem,
-				   const char *mrl, 
+				   const char *mrl,
 				   const char *subtitle,
 				   gboolean warn)
 {
@@ -1053,7 +1053,7 @@
 				BVW_DVD_PREV_CHAPTER);
 		return;
 	}
-	
+
 	if (dir == TOTEM_PLAYLIST_DIRECTION_NEXT
 			|| bacon_video_widget_is_seekable (totem->bvw) == FALSE
 			|| totem_time_within_seconds (totem) != FALSE)
@@ -1248,26 +1248,23 @@
 totem_action_drop_files (Totem *totem, GtkSelectionData *data,
 		int drop_type, gboolean empty_pl)
 {
-	GList *list, *p, *file_list;
+	gchar **uris;
+	GList *p, *file_list;
 	gboolean cleared = FALSE;
 
-	list = gnome_vfs_uri_list_parse ((const char *)data->data);
+	uris = g_uri_list_extract_uris ((const char *)data->data);
 
-	if (list == NULL)
+	if (uris == NULL)
 		return FALSE;
 
-	p = list;
 	file_list = NULL;
 
-	while (p != NULL)
+	while (*uris != NULL)
 	{
-		file_list = g_list_prepend (file_list, 
-				gnome_vfs_uri_to_string
-				((const GnomeVFSURI*)(p->data), 0));
-		p = p->next;
+		file_list = g_list_prepend (file_list, *uris);
+		uris++;
 	}
 
-	gnome_vfs_uri_list_free (list);
 	if (file_list == NULL)
 		return FALSE;
 
@@ -1293,7 +1290,7 @@
 		if (empty_pl != FALSE && cleared == FALSE)
 		{
 			/* The function that calls us knows better
-			 * if we should be doing something with the 
+			 * if we should be doing something with the
 			 * changed playlist ... */
 			g_signal_handlers_disconnect_by_func
 				(G_OBJECT (totem->playlist),
@@ -1481,7 +1478,7 @@
 on_got_metadata_event (BaconVideoWidget *bvw, Totem *totem)
 {
         char *name = NULL;
-	
+
 	totem_metadata_updated (totem, NULL, NULL, NULL);
 
 	name = totem_get_nice_name_for_stream (totem);
@@ -1491,10 +1488,10 @@
 			(TOTEM_PLAYLIST (totem->playlist), name, FALSE);
 		g_free (name);
 	}
-	
+
 	totem_action_set_sensitivity ("take-screenshot",
 				      bacon_video_widget_can_get_frames (bvw, NULL));
-	
+
 	on_playlist_change_name (TOTEM_PLAYLIST (totem->playlist), totem);
 }
 
@@ -1605,7 +1602,7 @@
 	g_signal_handlers_block_by_func (totem->volume, volume_button_value_changed_cb, totem);
 	gtk_scale_button_set_value (GTK_SCALE_BUTTON (totem->volume), volume);
 	g_signal_handlers_unblock_by_func (totem->volume, volume_button_value_changed_cb, totem);
-  
+
 	action = gtk_action_group_get_action (totem->main_action_group, "volume-down");
 	gtk_action_set_sensitive (action, volume > VOLUME_EPSILON && totem->volume_sensitive);
 
@@ -1745,7 +1742,7 @@
 			if (cleared == FALSE)
 			{
 				/* The function that calls us knows better
-				 * if we should be doing something with the 
+				 * if we should be doing something with the
 				 * changed playlist ... */
 				g_signal_handlers_disconnect_by_func
 					(G_OBJECT (totem->playlist),
@@ -1830,7 +1827,7 @@
 			gtk_widget_style_get_property (pane, "handle-size",
 					&value);
 			handle_size = g_value_get_int (&value);
-			
+
 			gtk_widget_show (totem->sidebar);
 			width += totem->sidebar->allocation.width
 				+ handle_size;
@@ -2413,7 +2410,7 @@
 	case GDK_P:
 		if (event->state & GDK_CONTROL_MASK)
 			totem_action_show_properties (totem);
-		else 
+		else
 			totem_action_play_pause (totem);
 		break;
 #ifdef HAVE_XFREE
@@ -2528,22 +2525,22 @@
 		break;
 	case GDK_KP_Up:
 	case GDK_KP_8:
-		bacon_video_widget_dvd_event (totem->bvw, 
+		bacon_video_widget_dvd_event (totem->bvw,
 					      BVW_DVD_ROOT_MENU_UP);
 		break;
 	case GDK_KP_Down:
 	case GDK_KP_2:
-		bacon_video_widget_dvd_event (totem->bvw, 
+		bacon_video_widget_dvd_event (totem->bvw,
 					      BVW_DVD_ROOT_MENU_DOWN);
 		break;
 	case GDK_KP_Right:
 	case GDK_KP_6:
-		bacon_video_widget_dvd_event (totem->bvw, 
+		bacon_video_widget_dvd_event (totem->bvw,
 					      BVW_DVD_ROOT_MENU_RIGHT);
 		break;
 	case GDK_KP_Left:
 	case GDK_KP_4:
-		bacon_video_widget_dvd_event (totem->bvw, 
+		bacon_video_widget_dvd_event (totem->bvw,
 					      BVW_DVD_ROOT_MENU_LEFT);
 		break;
 	case GDK_KP_Begin:
@@ -2706,7 +2703,7 @@
 	gulong handler_id;
 
 	if (!totem->maximised || GTK_WIDGET_MAPPED (totem->win)) {
-		handler_id = g_signal_handler_find (main_pane, 
+		handler_id = g_signal_handler_find (main_pane,
 				G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
 				0, 0, NULL,
 				main_pane_size_allocated, totem);
@@ -2830,7 +2827,7 @@
 	action = gtk_action_group_get_action (totem->main_action_group,
 			"previous-chapter");
 	item = gtk_action_create_tool_item (action);
-	gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (item), 
+	gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (item),
 					_("Previous Chapter/Movie"));
 	atk_object_set_name (gtk_widget_get_accessible (item),
 			_("Previous Chapter/Movie"));
@@ -2847,7 +2844,7 @@
 	action = gtk_action_group_get_action (totem->main_action_group,
 			"next-chapter");
 	item = gtk_action_create_tool_item (action);
-	gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (item), 
+	gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (item),
 					_("Next Chapter/Movie"));
 	atk_object_set_name (gtk_widget_get_accessible (item),
 			_("Next Chapter/Movie"));
@@ -2957,7 +2954,7 @@
 }
 
 static void
-video_widget_create (Totem *totem) 
+video_widget_create (Totem *totem)
 {
 	GError *err = NULL;
 	GtkContainer *container;
@@ -3264,6 +3261,6 @@
 #ifndef HAVE_GTK_ONLY
 	/* Will destroy GOption allocated data automatically */
 	g_object_unref (program);
-#endif	
+#endif
 	return 0;
 }
