summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-directory.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2006-10-18 10:13:26 +0000
committerAlexander Larsson <alexl@src.gnome.org>2006-10-18 10:13:26 +0000
commit72f44fb060b9c41c88f4eaa4c727477c43c2656f (patch)
treeebb10f8ab28e5a4b6a9e454429956991f77685a2 /libnautilus-private/nautilus-directory.c
parentb268ab8008608f95b33ac6c7542d05aba6f0f449 (diff)
downloadnautilus-72f44fb060b9c41c88f4eaa4c727477c43c2656f.tar.gz
Add is_added flag to NautilusFile to make sure we always send an added
2006-10-18 Alexander Larsson <alexl@redhat.com> * libnautilus-private/nautilus-file-private.h: Add is_added flag to NautilusFile to make sure we always send an added event to directory monitors. * libnautilus-private/nautilus-directory-async.c: (dequeue_pending_idle_callback): Don't add the file to both added and changed list If the file exist but hasn't been added yet, add it. * libnautilus-private/nautilus-directory.c: (is_tentative): Don't return non-added files for get_file_list to avoid duplicating files if you do a list and then track adds. Partially fixes #336051.
Diffstat (limited to 'libnautilus-private/nautilus-directory.c')
-rw-r--r--libnautilus-private/nautilus-directory.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libnautilus-private/nautilus-directory.c b/libnautilus-private/nautilus-directory.c
index c394126d2..ef25823ac 100644
--- a/libnautilus-private/nautilus-directory.c
+++ b/libnautilus-private/nautilus-directory.c
@@ -1665,7 +1665,11 @@ is_tentative (gpointer data, gpointer callback_data)
g_assert (callback_data == NULL);
file = NAUTILUS_FILE (data);
- return file->details->info == NULL;
+ /* Avoid returning files with !is_added, because these
+ * will later be sent with the files_added signal, and a
+ * user doing get_file_list + files_added monitoring will
+ * then see the file twice */
+ return file->details->info == NULL || !file->details->is_added;
}
GList *