summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Wehner <martin.wehner@gmail.com>2005-04-11 21:42:03 +0000
committerMartin Wehner <mwehner@src.gnome.org>2005-04-11 21:42:03 +0000
commit900d7368b8626da3ed74b7bf6011f5a3e39f6118 (patch)
tree584a0de50956e918bb2d9ccb68db0a6af497834c
parent77fe6f0f350248d8aea0d01f82bc400f448beffa (diff)
downloadnautilus-900d7368b8626da3ed74b7bf6011f5a3e39f6118.tar.gz
Remove delayed_rename timeout when registering a new one or destroying the
2005-04-11 Martin Wehner <martin.wehner@gmail.com> * src/file-manager/fm-directory-view.c: (fm_directory_view_destroy), (rename_file): Remove delayed_rename timeout when registering a new one or destroying the view.
-rw-r--r--ChangeLog7
-rw-r--r--src/file-manager/fm-directory-view.c15
2 files changed, 20 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 404160f63..766c1f949 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2005-04-11 Martin Wehner <martin.wehner@gmail.com>
+ * src/file-manager/fm-directory-view.c:
+ (fm_directory_view_destroy), (rename_file):
+ Remove delayed_rename timeout when registering a new one
+ or destroying the view.
+
+2005-04-11 Martin Wehner <martin.wehner@gmail.com>
+
* src/file-manager/fm-list-view.c: (fm_list_view_remove_file):
Free the stored selection path only when setting a new one.
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c
index aae46555f..8f56ec927 100644
--- a/src/file-manager/fm-directory-view.c
+++ b/src/file-manager/fm-directory-view.c
@@ -194,6 +194,8 @@ struct FMDirectoryViewDetails
guint done_loading_handler_id;
guint file_changed_handler_id;
+ guint delayed_rename_file_id;
+
GList *new_added_files;
GList *new_changed_files;
@@ -1687,6 +1689,11 @@ fm_directory_view_destroy (GtkObject *object)
view->details->display_selection_idle_id = 0;
}
+ if (view->details->delayed_rename_file_id != 0) {
+ g_source_remove (view->details->delayed_rename_file_id);
+ view->details->delayed_rename_file_id = 0;
+ }
+
if (view->details->model) {
nautilus_directory_unref (view->details->model);
view->details->model = NULL;
@@ -3341,8 +3348,12 @@ rename_file (FMDirectoryView *view, NautilusFile *new_file)
data = g_new (RenameData, 1);
data->view = g_object_ref (view);
data->new_file = nautilus_file_ref (new_file);
- g_timeout_add (100, (GSourceFunc)delayed_rename_file_hack_callback,
- data);
+ if (view->details->delayed_rename_file_id != 0) {
+ g_source_remove (view->details->delayed_rename_file_id);
+ }
+ view->details->delayed_rename_file_id =
+ g_timeout_add (100, (GSourceFunc)delayed_rename_file_hack_callback,
+ data);
return;
}