diff options
author | Alexander Larsson <alexl@redhat.com> | 2008-10-17 17:24:33 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2008-10-17 17:24:33 +0000 |
commit | 2b87637c6b03961281c10e3cc9daad78ce0a3d7a (patch) | |
tree | ae032bc3bfb00fecac2bc770859b8a44b427ae3e | |
parent | 3c16c22c61ade2f2d0322f05e9a3bb9c75172f73 (diff) | |
download | nautilus-2b87637c6b03961281c10e3cc9daad78ce0a3d7a.tar.gz |
Merged from trunk:
2008-10-17 Alexander Larsson <alexl@redhat.com>
Merged from trunk:
* libnautilus-private/nautilus-bookmark.c:
(bookmark_file_changed_callback):
Don't immediately recreate NautilusFile for the
bookmark when the file is deleted, as this can
cause loops if the file is monitored.
See https://bugzilla.redhat.com/show_bug.cgi?id=465479
svn path=/branches/gnome-2-24/; revision=14735
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | libnautilus-private/nautilus-bookmark.c | 12 |
2 files changed, 20 insertions, 3 deletions
@@ -2,6 +2,17 @@ Merged from trunk: + * libnautilus-private/nautilus-bookmark.c: + (bookmark_file_changed_callback): + Don't immediately recreate NautilusFile for the + bookmark when the file is deleted, as this can + cause loops if the file is monitored. + See https://bugzilla.redhat.com/show_bug.cgi?id=465479 + +2008-10-17 Alexander Larsson <alexl@redhat.com> + + Merged from trunk: + * src/nautilus-window-manage-views.c (nautilus_window_slot_open_location_full): Don't unref NULL, which can happen if !do_load_location diff --git a/libnautilus-private/nautilus-bookmark.c b/libnautilus-private/nautilus-bookmark.c index f7ad47bed..361857573 100644 --- a/libnautilus-private/nautilus-bookmark.c +++ b/libnautilus-private/nautilus-bookmark.c @@ -391,13 +391,19 @@ bookmark_file_changed_callback (NautilusFile *file, NautilusBookmark *bookmark) if (nautilus_file_is_gone (file) || nautilus_file_is_in_trash (file)) { /* The file we were monitoring has been trashed, deleted, - * or moved in a way that we didn't notice. Make + * or moved in a way that we didn't notice. We should make * a spanking new NautilusFile object for this * location so if a new file appears in this place - * we will notice. + * we will notice. However, we can't immediately do so + * because creating a new NautilusFile directly as a result + * of noticing a file goes away may trigger i/o on that file + * again, noticeing it is gone, leading to a loop. + * So, the new NautilusFile is created when the bookmark + * is used again. However, this is not really a problem, as + * we don't want to change the icon or anything about the + * bookmark just because its not there anymore. */ nautilus_bookmark_disconnect_file (bookmark); - should_emit_appearance_changed_signal = TRUE; } else if (nautilus_bookmark_update_icon (bookmark)) { /* File hasn't gone away, but it has changed * in a way that affected its icon. |