diff options
author | Darin Adler <darin@src.gnome.org> | 2000-09-20 00:54:25 +0000 |
---|---|---|
committer | Darin Adler <darin@src.gnome.org> | 2000-09-20 00:54:25 +0000 |
commit | 25c1f5f791edb75640b2e2ad2ea6c1f3e27c352c (patch) | |
tree | 6ee9e7b62a140d909da4ef2d8d5f5c0a45195d78 /libnautilus-extensions | |
parent | 1035b5ea668b2f85e6290e78e27da41948d57fb0 (diff) | |
download | nautilus-25c1f5f791edb75640b2e2ad2ea6c1f3e27c352c.tar.gz |
Fixed bug 3157 (Going to a bogus URI crashes nautilus).
* libnautilus-extensions/nautilus-directory-async.c:
(nautilus_directory_async_state_changed): Add a ref/unref to keep
the directory around even if call_when_ready results in the last
ref to the directory going away.
Diffstat (limited to 'libnautilus-extensions')
-rw-r--r-- | libnautilus-extensions/nautilus-directory-async.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libnautilus-extensions/nautilus-directory-async.c b/libnautilus-extensions/nautilus-directory-async.c index 7e1d1df88..1e521f361 100644 --- a/libnautilus-extensions/nautilus-directory-async.c +++ b/libnautilus-extensions/nautilus-directory-async.c @@ -2444,14 +2444,16 @@ start_or_stop_io (NautilusDirectory *directory) void nautilus_directory_async_state_changed (NautilusDirectory *directory) { - /* Check if any callbacks are satisifed and call them if they + /* Check if any callbacks are satisfied and call them if they * are. Do this last so that any changes done in start or stop * I/O functions immediately (not in callbacks) are taken into * consideration. If any callbacks are called, consider the * I/O state again so that we can release or cancel I/O that * is not longer needed once the callbacks are satisfied. */ + nautilus_directory_ref (directory); do { start_or_stop_io (directory); } while (call_ready_callbacks (directory)); + nautilus_directory_unref (directory); } |