summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nautilus-list-base.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/nautilus-list-base.c b/src/nautilus-list-base.c
index 19f09ea5b..cb0c2fa81 100644
--- a/src/nautilus-list-base.c
+++ b/src/nautilus-list-base.c
@@ -1081,6 +1081,7 @@ get_selection (NautilusFilesView *files_view,
{
NautilusListBase *self = NAUTILUS_LIST_BASE (files_view);
NautilusListBasePrivate *priv = nautilus_list_base_get_instance_private (self);
+ NautilusFile *view_file = nautilus_files_view_get_directory_as_file (files_view);
g_autoptr (GtkSelectionFilterModel) selection = NULL;
guint n_selected;
GList *selected_files = NULL;
@@ -1090,15 +1091,16 @@ get_selection (NautilusFilesView *files_view,
for (guint i = 0; i < n_selected; i++)
{
g_autoptr (NautilusViewItem) item = NULL;
+ g_autoptr (NautilusFile) parent = NULL;
NautilusFile *file;
item = get_view_item (G_LIST_MODEL (selection), i);
file = nautilus_view_item_get_file (item);
+ parent = nautilus_file_get_parent (file);
- if (for_file_transfer)
+ if (for_file_transfer && view_file != parent)
{
/* If the parent is already selected don't include the child. */
- g_autoptr (NautilusFile) parent = nautilus_file_get_parent (file);
NautilusViewItem *parent_item;
guint parent_pos;