diff options
author | Alexander Larsson <alexl@redhat.com> | 2006-11-07 14:10:22 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2006-11-07 14:10:22 +0000 |
commit | a4e012950789c35e992f1c6d82542695054135fe (patch) | |
tree | bf7ec0c1304196f871e0272c34fbff18bc44173e | |
parent | fe6e7d4c8c0c3c8467eb2e3754e1f44f7ad42cce (diff) | |
download | nautilus-a4e012950789c35e992f1c6d82542695054135fe.tar.gz |
Update for releaseNAUTILUS_2_16_2
2006-11-07 Alexander Larsson <alexl@redhat.com>
* NEWS:
Update for release
* libnautilus-private/nautilus-directory-async.c:
* libnautilus-private/nautilus-directory.c:
Unschedule call_ready callbacks on directory finalize, not
on file finalize.
Keep monitors around until we call the call_when_ready callback
at idle time.
Call async_state_changed and update_metadata_monitors after
call_when_ready callbacks have been called at idle.
(fixes make check)
-rw-r--r-- | ChangeLog | 16 | ||||
-rw-r--r-- | NEWS | 11 | ||||
-rw-r--r-- | libnautilus-private/nautilus-directory-async.c | 23 | ||||
-rw-r--r-- | libnautilus-private/nautilus-directory.c | 6 |
4 files changed, 38 insertions, 18 deletions
@@ -1,5 +1,21 @@ 2006-11-07 Alexander Larsson <alexl@redhat.com> + * NEWS: + Update for release + + * libnautilus-private/nautilus-directory-async.c: + * libnautilus-private/nautilus-directory.c: + Unschedule call_ready callbacks on directory finalize, not + on file finalize. + Keep monitors around until we call the call_when_ready callback + at idle time. + Call async_state_changed and update_metadata_monitors after + call_when_ready callbacks have been called at idle. + + (fixes make check) + +2006-11-07 Alexander Larsson <alexl@redhat.com> + * src/nautilus-application.c: * src/nautilus-shell.c: * src/nautilus-main.[ch]: @@ -1,3 +1,14 @@ +Major changes in 2.16.2 are: +* Fix a lot of crashes +* Handle throbbers with different sizes +* Don't add a newline when pasting filenames +* Better a11y relationships betweeen widgets +* Make nautilus --quit not be restarted by session +* Fix occasional stuck grabs when rubberband selecting +* Don't timeout typeahead when scrolling with mouse wheel +* Add X-GNOME-Bugzilla-Version to desktop files +* Fix desktop icon overlap problem + Major changes in 2.16.1 are: * Default to search in current directory for non-indexed search * Fix clash with symbol names in gtk+ diff --git a/libnautilus-private/nautilus-directory-async.c b/libnautilus-private/nautilus-directory-async.c index abb0abce1..6aa768dc0 100644 --- a/libnautilus-private/nautilus-directory-async.c +++ b/libnautilus-private/nautilus-directory-async.c @@ -148,8 +148,6 @@ static void move_file_to_extension_queue (NautilusDirectory *directory, NautilusFile *file); static void nautilus_directory_invalidate_file_attributes (NautilusDirectory *directory, NautilusFileAttributes file_attributes); -static void unschedule_call_ready_callbacks (NautilusDirectory *directory); - void nautilus_set_kde_trash_name (const char *trash_dir) @@ -1082,7 +1080,7 @@ is_anyone_waiting_for_metafile (NautilusDirectory *directory) for (node = directory->details->call_when_ready_list; node != NULL; node = node->next) { callback = node->data; - if (callback->active && callback->request.metafile) { + if (callback->request.metafile) { return TRUE; } } @@ -1547,8 +1545,6 @@ nautilus_async_destroying_file (NautilusFile *file) directory = file->details->directory; changed = FALSE; - unschedule_call_ready_callbacks (directory); - /* Check for callbacks. */ for (node = directory->details->call_when_ready_list; node != NULL; node = next) { next = node->next; @@ -1886,6 +1882,10 @@ call_ready_callbacks_at_idle (gpointer callback_data) g_free (callback); } + /* When we change the ready list we need to sync up metadata monitors. */ + update_metadata_monitors (directory); + + nautilus_directory_async_state_changed (directory); return FALSE; } @@ -1899,15 +1899,6 @@ schedule_call_ready_callbacks (NautilusDirectory *directory) } } -static void -unschedule_call_ready_callbacks (NautilusDirectory *directory) -{ - if (directory->details->call_ready_idle_id != 0) { - g_source_remove (directory->details->call_ready_idle_id); - directory->details->call_ready_idle_id = 0; - } -} - /* Marks all callbacks that are ready as non-active and * calls them at idle time, unless they are removed * before then */ @@ -1933,8 +1924,6 @@ call_ready_callbacks (NautilusDirectory *directory) } if (found_any) { - /* When we change the ready list we need to sync up metadata monitors. */ - update_metadata_monitors (directory); schedule_call_ready_callbacks (directory); } @@ -1952,7 +1941,7 @@ nautilus_directory_is_anyone_monitoring_file_list (NautilusDirectory *directory) for (node = directory->details->call_when_ready_list; node != NULL; node = node->next) { callback = node->data; - if (callback->active && callback->request.file_list) { + if (callback->request.file_list) { return TRUE; } } diff --git a/libnautilus-private/nautilus-directory.c b/libnautilus-private/nautilus-directory.c index ef25823ac..c02d1528a 100644 --- a/libnautilus-private/nautilus-directory.c +++ b/libnautilus-private/nautilus-directory.c @@ -203,7 +203,11 @@ nautilus_directory_finalize (GObject *object) if (directory->details->dequeue_pending_idle_id != 0) { g_source_remove (directory->details->dequeue_pending_idle_id); } - + + if (directory->details->call_ready_idle_id != 0) { + g_source_remove (directory->details->call_ready_idle_id); + } + g_free (directory->details->uri); if (directory->details->vfs_uri != NULL) { |