nautilus r13781 - in trunk: . libnautilus-private



Author: alexl
Date: Wed Feb 20 09:57:58 2008
New Revision: 13781
URL: http://svn.gnome.org/viewvc/nautilus?rev=13781&view=rev

Log:
2008-02-20  Alexander Larsson  <alexl redhat com>

        * libnautilus-private/nautilus-file-operations.c:
	Duplicate if src and dest dirs are the same (#512392)



Modified:
   trunk/ChangeLog
   trunk/libnautilus-private/nautilus-file-operations.c

Modified: trunk/libnautilus-private/nautilus-file-operations.c
==============================================================================
--- trunk/libnautilus-private/nautilus-file-operations.c	(original)
+++ trunk/libnautilus-private/nautilus-file-operations.c	Wed Feb 20 09:57:58 2008
@@ -4582,7 +4582,7 @@
 				    gpointer done_callback_data)
 {
 	GList *locations;
-	GFile *dest;
+	GFile *dest, *src_dir;
 	GtkWindow *parent_window;
 
 	dest = NULL;
@@ -4597,7 +4597,10 @@
 	}
 	
 	if (copy_action == GDK_ACTION_COPY) {
-		if (target_dir == NULL) {
+		src_dir = g_file_get_parent (locations->data);
+		if (target_dir == NULL ||
+		    (src_dir != NULL &&
+		     g_file_equal (src_dir, dest))) {
 			nautilus_file_operations_duplicate (locations,
 							    relative_item_points,
 							    parent_window,
@@ -4609,6 +4612,9 @@
 						       parent_window,
 						       done_callback, done_callback_data);
 		}
+		if (src_dir) {
+			g_object_unref (src_dir);
+		}
 		
 	} else if (copy_action == GDK_ACTION_MOVE) {
 		if (g_file_has_uri_scheme (dest, "trash")) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]