r16059 - in /desktop/unstable/nautilus/debian: changelog patches/02_trash_location.patch patches/series

joss at users.alioth.debian.org joss at users.alioth.debian.org
Wed May 28 00:09:07 UTC 2008


Author: joss
Date: Wed May 28 00:09:07 2008
New Revision: 16059

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=16059
Log:
02_trash_location.patch: new patch. When unmounting a volume with a 
non-empty trash, take into account that with the new location, the 
directory to remove is the parent of the one returned by gnome-vfs.

Added:
    desktop/unstable/nautilus/debian/patches/02_trash_location.patch
Modified:
    desktop/unstable/nautilus/debian/changelog
    desktop/unstable/nautilus/debian/patches/series

Modified: desktop/unstable/nautilus/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/nautilus/debian/changelog?rev=16059&op=diff
==============================================================================
--- desktop/unstable/nautilus/debian/changelog (original)
+++ desktop/unstable/nautilus/debian/changelog Wed May 28 00:09:07 2008
@@ -1,4 +1,4 @@
-nautilus (2.20.0-4) UNRELEASED; urgency=low
+nautilus (2.20.0-4) unstable; urgency=low
 
   [ Loic Minier ]
   * Add a nautilus-extensions-1.0 Provide to nautilus to express the fact that
@@ -8,8 +8,11 @@
 
   [ Josselin Mouette ]
   * Demote fam to a Suggests; only g-d-e really needs to recommend it.
-
- -- Josselin Mouette <joss at debian.org>  Thu, 31 Jan 2008 15:45:04 +0100
+  * 02_trash_location.patch: new patch. When unmounting a volume with a 
+    non-empty trash, take into account that with the new location, the 
+    directory to remove is the parent of the one returned by gnome-vfs.
+
+ -- Josselin Mouette <joss at debian.org>  Wed, 28 May 2008 01:47:28 +0200
 
 nautilus (2.20.0-3) unstable; urgency=low
 

Added: desktop/unstable/nautilus/debian/patches/02_trash_location.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/nautilus/debian/patches/02_trash_location.patch?rev=16059&op=file
==============================================================================
--- desktop/unstable/nautilus/debian/patches/02_trash_location.patch (added)
+++ desktop/unstable/nautilus/debian/patches/02_trash_location.patch Wed May 28 00:09:07 2008
@@ -1,0 +1,93 @@
+Index: nautilus-2.20.0/libnautilus-private/nautilus-file-operations.c
+===================================================================
+--- nautilus-2.20.0.orig/libnautilus-private/nautilus-file-operations.c	2008-05-28 01:37:07.149153104 +0200
++++ nautilus-2.20.0/libnautilus-private/nautilus-file-operations.c	2008-05-28 01:35:34.969151666 +0200
+@@ -3085,6 +3085,18 @@ prompt_empty_trash (GtkWidget *parent_vi
+ 	return result;
+ }
+ 
++static gchar*
++trash_directory_to_remove (const gchar *trash_uri_str)
++{
++	gchar *retval = g_strdup (trash_uri_str);
++	gchar *basename = strrchr (retval, '/');
++
++	if (basename && strcmp (basename+1, "files") == 0)
++		basename[0] = '\0';
++
++	return retval;
++}
++
+ void 
+ nautilus_file_operations_unmount_volume (GtkWidget *parent_view,
+ 		GnomeVFSVolume *volume, 
+@@ -3117,17 +3129,20 @@ nautilus_file_operations_unmount_volume 
+ 			{
+ 				GList                         *trash_dir_list;
+ 				NautilusUnmountCallback       *unmount_cb;
++				gchar                         *uri_to_remove;
+ 
+ 				trash_dir_list = NULL;
+ 				unmount_cb = g_new (NautilusUnmountCallback, 1);
+ 				unmount_cb->volume = gnome_vfs_volume_ref (volume);
+ 				unmount_cb->callback = callback;
+ 				unmount_cb->user_data = user_data;
+-				trash_dir_list = g_list_append (trash_dir_list, trash_uri_str);
++				uri_to_remove = trash_directory_to_remove (trash_uri_str);
++				trash_dir_list = g_list_append (trash_dir_list, uri_to_remove);
+ 				nautilus_file_operations_delete (trash_dir_list, parent_view, 
+ 				                             (NautilusDeleteCallback) delete_callback,
+ 				                             unmount_cb);
+ 				g_list_free (trash_dir_list);
++				g_free (uri_to_remove);
+ 				/* volume is unmounted in the callback */
+ 				break;
+ 			}
+@@ -3152,6 +3167,7 @@ nautilus_file_operations_unmount_drive (
+ 	GList                   *trash_dir_list;
+ 	GnomeVFSVolume          *volume;
+ 	gchar                   *trash_uri_str;
++	gchar                   *uri_to_remove;
+ 	gboolean                trash_is_empty;
+ 
+ 	g_return_if_fail (parent_view != NULL);
+@@ -3163,7 +3179,8 @@ nautilus_file_operations_unmount_drive (
+ 		volume = it->data;
+ 		trash_uri_str = get_trash_uri_for_volume (volume);
+ 		if (trash_uri_str) {
+-			trash_dir_list = g_list_prepend (trash_dir_list, trash_uri_str);
++			uri_to_remove = trash_directory_to_remove (trash_uri_str);
++			trash_dir_list = g_list_prepend (trash_dir_list, uri_to_remove);
+ 			/* Check if any of the volumes have trash on them.
+ 			* If the trash directories on the volumes exist they are monitored 
+ 			* by the trash monitor so this should give accurate results. */
+@@ -3172,6 +3189,7 @@ nautilus_file_operations_unmount_drive (
+ 				trash_dir = nautilus_directory_get (trash_uri_str);
+ 				trash_is_empty = ! nautilus_directory_is_not_empty (trash_dir);
+ 			}
++			g_free (trash_uri_str);
+ 		}
+ 		gnome_vfs_volume_unref (volume);
+ 	}
+@@ -3195,18 +3213,16 @@ nautilus_file_operations_unmount_drive (
+ 				                            (NautilusDeleteCallback) delete_callback,
+ 				                            unmount_cb);
+ 
+-				for (it = trash_dir_list; it != NULL; it = g_list_next (it)) {
+-					temp = it->data;
+-					g_free (temp);
+-				}
++				g_list_foreach (trash_dir_list, (GFunc)g_free, NULL);
+ 				g_list_free (trash_dir_list);
+ 				/* volume is unmounted in the callback */
+ 				break;
+ 			}
+ 			case GTK_RESPONSE_REJECT:
+ 				gnome_vfs_drive_unmount (drive, callback, user_data);
+-				break;
+ 			default:
++				g_list_foreach (trash_dir_list, (GFunc)g_free, NULL);
++				g_list_free (trash_dir_list);
+ 				break;
+ 		}
+ 	}

Modified: desktop/unstable/nautilus/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/nautilus/debian/patches/series?rev=16059&op=diff
==============================================================================
--- desktop/unstable/nautilus/debian/patches/series (original)
+++ desktop/unstable/nautilus/debian/patches/series Wed May 28 00:09:07 2008
@@ -1,4 +1,5 @@
 01_prompt_same_file.patch
+02_trash_location.patch
 03_sftp_connect.patch
 04_show_backup_files.patch
 05_places-sidebar_single-click.patch




More information about the pkg-gnome-commits mailing list