Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/nautilus/ChangeLog,v
retrieving revision 1.5473
diff -u -r1.5473 ChangeLog
--- ChangeLog	6 Aug 2002 18:52:47 -0000	1.5473
+++ ChangeLog	6 Aug 2002 22:01:47 -0000
@@ -1,3 +1,9 @@
+2002-08-06  Alex Graveley  <alex@ximian.com>
+
+	* libnautilus-private/nautilus-file.c (rename_guts): Remove the
+	check to only allow a file:/// URI in order to rename a .desktop
+	file.  Fixes #73773.
+
 2002-07-02  Jody Goldberg <jody@gnome.org>
 
 	* libnautilus-private/nautilus-program-chooser.c
Index: libnautilus-private/nautilus-file.c
===================================================================
RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-file.c,v
retrieving revision 1.296
diff -u -r1.296 nautilus-file.c
--- libnautilus-private/nautilus-file.c	25 Jul 2002 20:59:15 -0000	1.296
+++ libnautilus-private/nautilus-file.c	6 Aug 2002 22:01:47 -0000
@@ -895,12 +895,6 @@
 	operation_free (op);
 }
 
-static gboolean
-has_local_path (NautilusFile *file)
-{
-	return eel_str_has_prefix (file->details->directory->details->uri, "file:");
-}
-
 static void
 rename_callback (GnomeVFSAsyncHandle *handle,
 		 GnomeVFSResult result,
@@ -976,21 +970,20 @@
 	GnomeVFSURI *vfs_uri;
 	char *uri;
 	gboolean success;
-	gboolean is_local_desktop_file;
+	gboolean is_desktop_file;
 
 	g_return_if_fail (NAUTILUS_IS_FILE (file));
 	g_return_if_fail (new_name != NULL);
 	g_return_if_fail (callback != NULL);
 
-	is_local_desktop_file =
-		(nautilus_file_is_mime_type (file, "application/x-gnome-app-info") ||
-		 nautilus_file_is_mime_type (file, "application/x-desktop")) &&
-		has_local_path (file);
+	is_desktop_file =
+		nautilus_file_is_mime_type (file, "application/x-gnome-app-info") ||
+		nautilus_file_is_mime_type (file, "application/x-desktop");
 	
 	/* Return an error for incoming names containing path separators.
 	 * But not for .desktop files as '/' are allowed for them */
 	uri = nautilus_file_get_uri (file);
-	if (strstr (new_name, "/") != NULL && !is_local_desktop_file) {
+	if (!is_desktop_file && strstr (new_name, "/") != NULL) {
 		(* callback) (file, GNOME_VFS_ERROR_NOT_PERMITTED, callback_data);
 		return;
 	}
@@ -1033,7 +1026,7 @@
 		return;
 	}
 	
-	if (is_local_desktop_file) {
+	if (is_desktop_file) {
 		uri = nautilus_file_get_uri (file);
 		success = nautilus_link_desktop_file_local_set_text (uri, new_name);
 		g_free (uri);
@@ -1067,6 +1060,12 @@
 				       rename_callback, op);
 	gnome_vfs_file_info_unref (partial_file_info);
 	gnome_vfs_uri_unref (vfs_uri);
+}
+
+static gboolean
+has_local_path (NautilusFile *file)
+{
+	return eel_str_has_prefix (file->details->directory->details->uri, "file:");
 }
 
 static gboolean
