summaryrefslogtreecommitdiff
path: root/libnautilus/nautilus-idle-queue.c
diff options
context:
space:
mode:
authorDarin Adler <darin@src.gnome.org>2001-03-08 19:53:30 +0000
committerDarin Adler <darin@src.gnome.org>2001-03-08 19:53:30 +0000
commit4536e0f5b38e7c97b8dc63b1acf33c1b8c077d1a (patch)
tree1e8f4651da548ff0a02f3ae33210a9b70fd6aa1f /libnautilus/nautilus-idle-queue.c
parent85b8adc30922f83a35889ea4094f363a332e7309 (diff)
downloadnautilus-4536e0f5b38e7c97b8dc63b1acf33c1b8c077d1a.tar.gz
reviewed by: John Sullivan <sullivan@eazel.com>
Fix another part of bug 7494 (History sidebar component spews assertions when closing nautilus window [and sometimes crashes]): * libnautilus/nautilus-idle-queue.c: (execute_queued_functions): Change logic so that queued functions no longer execute once the caller destroys the queue. Fix bug 7564 (opening and quickly closing window in list view leads to core dump): * src/file-manager/fm-directory-view.c: (fm_directory_view_destroy): Remove code to empty lists now that stop handles that. (load_error_callback): Added a FIXME about the fact that we throw away some pending files on an error. (fm_directory_view_stop): Don't display pending files any more. This is a problem when trying to destroy, and also the old code displayed only one "batch" of pending files, so it wasn't really making sure all the files were displayed anyway. If we re-add the code to display pending files here, we'll have to make sure it doesn't do this for the destroy case. * src/file-manager/fm-list-view.c: Added FIXME asking why the "add 100 items at a time" logic is only needed for list view, and not for icon view. If both kinds of views had it, it could be done more simply at the FMDirectoryView level. * libnautilus-extensions/nautilus-icon-factory.c: (nautilus_get_icon_size_for_zoom_level): Fix this code so that it doesn't do a core dump if it gets a bad size. This is not the cause of the problem, but it's good to fix this too, because a core dump is overreacting to a bad parameter.
Diffstat (limited to 'libnautilus/nautilus-idle-queue.c')
-rw-r--r--libnautilus/nautilus-idle-queue.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libnautilus/nautilus-idle-queue.c b/libnautilus/nautilus-idle-queue.c
index 11cb8d275..80d9e3b61 100644
--- a/libnautilus/nautilus-idle-queue.c
+++ b/libnautilus/nautilus-idle-queue.c
@@ -62,7 +62,9 @@ execute_queued_functions (gpointer callback_data)
for (node = functions; node != NULL; node = node->next) {
function = node->data;
- (* function->callback) (function->data, function->callback_data);
+ if (!queue->destroy) {
+ (* function->callback) (function->data, function->callback_data);
+ }
if (function->free_callback_data != NULL) {
(* function->free_callback_data) (function->callback_data);
}