aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2001-10-24 06:28:46 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2001-10-24 06:28:46 +0800
commita6b2711b080314da9ab3cc1921e7d3b8560993df (patch)
treec114b48ae2732b01c2a7426f0efce8af4e3dcf18
parent974cb91595b7eccc118ff8c807d1ecb60b0e217f (diff)
downloadgsoc2013-evolution-a6b2711b080314da9ab3cc1921e7d3b8560993df.tar
gsoc2013-evolution-a6b2711b080314da9ab3cc1921e7d3b8560993df.tar.gz
gsoc2013-evolution-a6b2711b080314da9ab3cc1921e7d3b8560993df.tar.bz2
gsoc2013-evolution-a6b2711b080314da9ab3cc1921e7d3b8560993df.tar.lz
gsoc2013-evolution-a6b2711b080314da9ab3cc1921e7d3b8560993df.tar.xz
gsoc2013-evolution-a6b2711b080314da9ab3cc1921e7d3b8560993df.tar.zst
gsoc2013-evolution-a6b2711b080314da9ab3cc1921e7d3b8560993df.zip
Handle the return codes properly, and invoke the result callback too.
* e-local-storage.c (async_xfer_folder_callback): Handle the return codes properly, and invoke the result callback too. svn path=/trunk/; revision=13965
-rw-r--r--shell/ChangeLog5
-rw-r--r--shell/e-local-storage.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 497d6c1902..edc7b359c7 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,5 +1,10 @@
2001-10-23 Ettore Perazzoli <ettore@ximian.com>
+ * e-local-storage.c (async_xfer_folder_callback): Handle the
+ return codes properly, and invoke the result callback too.
+
+2001-10-23 Ettore Perazzoli <ettore@ximian.com>
+
* e-activity-handler.c (show_cancellation_popup): #if 0'ed for
now, per #7427.
diff --git a/shell/e-local-storage.c b/shell/e-local-storage.c
index 3389a0be30..c1b12e89a8 100644
--- a/shell/e-local-storage.c
+++ b/shell/e-local-storage.c
@@ -843,6 +843,12 @@ async_xfer_folder_callback (EvolutionShellComponentClient *shell_component_clien
item = (XferItem *) xfer_data->current_folder_item->data;
+ if (result != EVOLUTION_SHELL_COMPONENT_OK) {
+ (* xfer_data->callback) (E_STORAGE (xfer_data->local_storage), result, xfer_data->callback_data);
+ async_xfer_folder_complete (xfer_data);
+ return;
+ }
+
source_folder = e_storage_get_folder (E_STORAGE (xfer_data->local_storage), item->source_path);
destination_folder = e_local_folder_new (e_folder_get_name (source_folder),
e_folder_get_type_string (source_folder),
@@ -859,6 +865,8 @@ async_xfer_folder_callback (EvolutionShellComponentClient *shell_component_clien
xfer_data->current_folder_item = xfer_data->current_folder_item->next;
if (xfer_data->current_folder_item == NULL) {
+ (* xfer_data->callback) (E_STORAGE (xfer_data->local_storage),
+ EVOLUTION_SHELL_COMPONENT_OK, xfer_data->callback_data);
async_xfer_folder_complete (xfer_data);
return;
}