diff options
author | Martin Wehner <martin.wehner@gmail.com> | 2005-04-11 21:42:03 +0000 |
---|---|---|
committer | Martin Wehner <mwehner@src.gnome.org> | 2005-04-11 21:42:03 +0000 |
commit | 900d7368b8626da3ed74b7bf6011f5a3e39f6118 (patch) | |
tree | 584a0de50956e918bb2d9ccb68db0a6af497834c | |
parent | 77fe6f0f350248d8aea0d01f82bc400f448beffa (diff) | |
download | nautilus-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-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/file-manager/fm-directory-view.c | 15 |
2 files changed, 20 insertions, 2 deletions
@@ -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; } |