[file-roller: 105/123] free the batch data after completing an operation
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [file-roller: 105/123] free the batch data after completing an operation
- Date: Mon, 6 Aug 2012 13:49:41 +0000 (UTC)
commit de08f40aed76fca6ae996815317ae2d34a4f03e3
Author: Paolo Bacchilega <paobac src gnome org>
Date: Fri Aug 3 10:51:10 2012 +0200
free the batch data after completing an operation
src/fr-window.c | 35 ++++++++++++++++++++++-------------
1 files changed, 22 insertions(+), 13 deletions(-)
---
diff --git a/src/fr-window.c b/src/fr-window.c
index 7c4e78b..f84ad93 100644
--- a/src/fr-window.c
+++ b/src/fr-window.c
@@ -283,6 +283,7 @@ struct _FrWindowPrivate {
* be created only when the user
* adds some file to the
* archive.*/
+ gboolean reload_archive;
char * archive_uri;
char * open_default_dir; /* default directory to be used
@@ -3123,6 +3124,8 @@ _archive_operation_completed (FrWindow *window,
g_free (window->priv->archive_uri);
window->priv->archive_uri = g_file_get_uri (fr_archive_get_file (window->archive));
+ window->priv->reload_archive = FALSE;
+
close_progress_dialog (window, FALSE);
if (error != NULL) {
fr_window_remove_from_recent_list (window, window->priv->archive_uri);
@@ -3164,11 +3167,8 @@ _archive_operation_completed (FrWindow *window,
case FR_ACTION_DELETING_FILES:
close_progress_dialog (window, FALSE);
- if (! window->priv->batch_mode && ! operation_canceled) {
- fr_window_archive_reload (window);
- return;
- }
- return;
+ if (! window->priv->batch_mode && ! operation_canceled)
+ window->priv->reload_archive = TRUE;
case FR_ACTION_ADDING_FILES:
close_progress_dialog (window, FALSE);
@@ -3189,10 +3189,9 @@ _archive_operation_completed (FrWindow *window,
fr_window_add_to_recent_list (window, window->priv->archive_uri);
}
- if (! window->priv->batch_mode && ! operation_canceled) {
- fr_window_archive_reload (window);
- return;
- }
+ if (! window->priv->batch_mode && ! operation_canceled)
+ window->priv->reload_archive = TRUE;
+
break;
case FR_ACTION_TESTING_ARCHIVE:
@@ -3211,8 +3210,8 @@ _archive_operation_completed (FrWindow *window,
case FR_ACTION_RENAMING_FILES:
case FR_ACTION_UPDATING_FILES:
close_progress_dialog (window, FALSE);
- if (! operation_canceled)
- fr_window_archive_reload (window);
+ if (! window->priv->batch_mode && ! operation_canceled)
+ window->priv->reload_archive = TRUE;
return;
default:
@@ -5576,6 +5575,7 @@ fr_window_construct (FrWindow *window)
window->priv->archive_present = FALSE;
window->priv->archive_new = FALSE;
+ window->priv->reload_archive = FALSE;
window->priv->archive_uri = NULL;
window->priv->drag_destination_folder = NULL;
@@ -9349,8 +9349,14 @@ fr_window_exec_current_batch_action (FrWindow *window)
{
FrBatchAction *action;
- if (window->priv->batch_action == NULL)
+ if (window->priv->batch_action == NULL) {
+ fr_window_free_batch_data (window);
+ if (window->priv->reload_archive) {
+ window->priv->reload_archive = FALSE;
+ fr_window_archive_reload (window);
+ }
return;
+ }
action = (FrBatchAction *) window->priv->batch_action->data;
fr_window_exec_batch_action (window, action);
@@ -9394,8 +9400,11 @@ fr_window_start_batch (FrWindow *window)
void
fr_window_stop_batch (FrWindow *window)
{
- if (! window->priv->batch_mode)
+ if (! window->priv->batch_mode) {
+ fr_window_free_batch_data (window);
+ window->priv->reload_archive = FALSE;
return;
+ }
window->priv->extract_interact_use_default_dir = FALSE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]