From a6b2711b080314da9ab3cc1921e7d3b8560993df Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Tue, 23 Oct 2001 22:28:46 +0000 Subject: 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 --- shell/ChangeLog | 5 +++++ shell/e-local-storage.c | 8 ++++++++ 2 files changed, 13 insertions(+) (limited to 'shell') diff --git a/shell/ChangeLog b/shell/ChangeLog index 497d6c1902..edc7b359c7 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,8 @@ +2001-10-23 Ettore Perazzoli + + * e-local-storage.c (async_xfer_folder_callback): Handle the + return codes properly, and invoke the result callback too. + 2001-10-23 Ettore Perazzoli * e-activity-handler.c (show_cancellation_popup): #if 0'ed for 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; } -- cgit