Index: src/totem-uri.c
===================================================================
--- src/totem-uri.c	(revision 5105)
+++ src/totem-uri.c	(working copy)
@@ -29,6 +29,7 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <unistd.h>
+#include <gio/gio.h>
 
 #include "totem-mime-types.h"
 #include "totem-uri.h"
@@ -196,10 +197,11 @@
 	return (S_ISBLK (buf.st_mode));
 }
 
-char*
+char *
 totem_create_full_path (const char *path)
 {
-	char *retval, *curdir, *curdir_withslash, *escaped;
+	GFile *file;
+	char *retval;
 
 	g_return_val_if_fail (path != NULL, NULL);
 
@@ -208,27 +210,10 @@
 	if (totem_is_special_mrl (path) != FALSE)
 		return NULL;
 
-	if (path[0] == G_DIR_SEPARATOR) {
-		escaped = gnome_vfs_escape_path_string (path);
+	file = g_file_new_for_commandline_arg (path);
+	retval = g_file_get_uri (file);
+	g_object_unref (file);
 
-		retval = g_strdup_printf ("file://%s", escaped);
-		g_free (escaped);
-		return retval;
-	}
-
-	curdir = g_get_current_dir ();
-	escaped = gnome_vfs_escape_path_string (curdir);
-	curdir_withslash = g_strdup_printf ("file://%s%c",
-					    escaped, G_DIR_SEPARATOR);
-	g_free (escaped);
-	g_free (curdir);
-
-	escaped = gnome_vfs_escape_path_string (path);
-	retval = gnome_vfs_uri_make_full_from_relative
-		(curdir_withslash, escaped);
-	g_free (curdir_withslash);
-	g_free (escaped);
-
 	return retval;
 }
 
