summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2006-11-07 14:10:22 +0000
committerAlexander Larsson <alexl@src.gnome.org>2006-11-07 14:10:22 +0000
commita4e012950789c35e992f1c6d82542695054135fe (patch)
treebf7ec0c1304196f871e0272c34fbff18bc44173e
parentfe6e7d4c8c0c3c8467eb2e3754e1f44f7ad42cce (diff)
downloadnautilus-NAUTILUS_2_16_2.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--ChangeLog16
-rw-r--r--NEWS11
-rw-r--r--libnautilus-private/nautilus-directory-async.c23
-rw-r--r--libnautilus-private/nautilus-directory.c6
4 files changed, 38 insertions, 18 deletions
diff --git a/ChangeLog b/ChangeLog
index f7f78c383..d1471988f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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]:
diff --git a/NEWS b/NEWS
index 0f28dfa4d..4367aa4a3 100644
--- a/NEWS
+++ b/NEWS
@@ -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) {