Index: ChangeLog
===================================================================
RCS file: /export/cvs/head/nautilus/ChangeLog,v
retrieving revision 1.6452
diff -p -u -5 -r1.6452 ChangeLog
--- ChangeLog	1 Apr 2005 01:39:38 -0000	1.6452
+++ ChangeLog	1 Apr 2005 13:34:57 -0000
@@ -1,5 +1,12 @@
+2005-04-01  Dinoop Thomas <dinoop.thomas@wipro.com>
+
+	* libnautilus-private/nautilus-bookmark.c:
+	(nautilus_bookmark_uri_known_not_to_exist):
+	Added check for existence of non-local files to avoid their
+	recreation (#170761).
+	 
 2005-03-31  Steve Murphy  <murf@e-tools.com>
 
         * configure.in: Added "rw" to ALL_LINGUAS.
 
 2005-03-31  Kjartan Maraas  <kmaraas@gnome.org>
Index: libnautilus-private/nautilus-bookmark.c
===================================================================
RCS file: /export/cvs/head/nautilus/libnautilus-private/nautilus-bookmark.c,v
retrieving revision 1.62
diff -p -u -5 -r1.62 nautilus-bookmark.c
--- libnautilus-private/nautilus-bookmark.c	25 Mar 2005 13:47:26 -0000	1.62
+++ libnautilus-private/nautilus-bookmark.c	1 Apr 2005 13:35:20 -0000
@@ -24,10 +24,11 @@
 
 #include <config.h>
 #include "nautilus-bookmark.h"
 
 #include "nautilus-icon-factory.h"
+#include "nautilus-file-private.h"
 #include <eel/eel-gdk-pixbuf-extensions.h>
 #include <eel/eel-gtk-extensions.h>
 #include <eel/eel-gtk-macros.h>
 #include <eel/eel-string.h>
 #include <eel/eel-vfs-extensions.h>
@@ -532,17 +533,24 @@ nautilus_bookmark_menu_item_new (Nautilu
 gboolean
 nautilus_bookmark_uri_known_not_to_exist (NautilusBookmark *bookmark)
 {
 	char *path_name;
 	gboolean exists;
+	NautilusFile *file;
 
 	/* Convert to a path, returning FALSE if not local. */
 	path_name = gnome_vfs_get_local_path_from_uri (bookmark->details->uri);
 	if (path_name == NULL) {
+		/* It's a remote file, check for its existence. */
+		file = nautilus_file_get_existing (bookmark->details->uri);
+		if (file == NULL) {
+			/* Remote file does not exist,so return TRUE */
+			return TRUE;
+		}
+		nautilus_file_unref (file);
 		return FALSE;
 	}
-
 	/* Now check if the file exists (sync. call OK because it is local). */
 	exists = g_file_test (path_name, G_FILE_TEST_EXISTS);
 	g_free (path_name);
 
 	return !exists;
