aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-corba-storage.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2002-08-10 00:38:16 +0800
committerDan Winship <danw@src.gnome.org>2002-08-10 00:38:16 +0800
commita22468499591d5279ed0cfda4455032270f0ba3d (patch)
tree0b5db06bbd018fe05469f695c1de9d282f90c37d /shell/e-corba-storage.c
parent1d053f6c568b250b58fabcf84b8853dd146bb000 (diff)
downloadgsoc2013-evolution-a22468499591d5279ed0cfda4455032270f0ba3d.tar
gsoc2013-evolution-a22468499591d5279ed0cfda4455032270f0ba3d.tar.gz
gsoc2013-evolution-a22468499591d5279ed0cfda4455032270f0ba3d.tar.bz2
gsoc2013-evolution-a22468499591d5279ed0cfda4455032270f0ba3d.tar.lz
gsoc2013-evolution-a22468499591d5279ed0cfda4455032270f0ba3d.tar.xz
gsoc2013-evolution-a22468499591d5279ed0cfda4455032270f0ba3d.tar.zst
gsoc2013-evolution-a22468499591d5279ed0cfda4455032270f0ba3d.zip
Remove both timeouts when the dialog is destroyed, not just one of them.
* e-shell-shared-folder-picker-dialog.c (create_progress_dialog): Remove both timeouts when the dialog is destroyed, not just one of them. (shared_folder_discovery_listener_callback): Don't try to access fields of discovery_data after destroying it. Interpret the result argument correctly, and put up an error dialog (using e_corba_storage_corba_result_to_storage_result and e_storage_result_to_string) if something went wrong. * e-corba-storage.c (e_corba_storage_corba_result_to_storage_result): convert a GNOME_Evolution_Storage_Result to an EStorageResult. (async_folder_cb): Use that. svn path=/trunk/; revision=17750
Diffstat (limited to 'shell/e-corba-storage.c')
-rw-r--r--shell/e-corba-storage.c62
1 files changed, 29 insertions, 33 deletions
diff --git a/shell/e-corba-storage.c b/shell/e-corba-storage.c
index 95da96ed24..12a43eb2cc 100644
--- a/shell/e-corba-storage.c
+++ b/shell/e-corba-storage.c
@@ -294,39 +294,7 @@ async_folder_cb (BonoboListener *listener, char *event_name,
EStorageResult result;
corba_result = any->_value;
- switch (*corba_result) {
- case GNOME_Evolution_Storage_OK:
- result = E_STORAGE_OK;
- break;
- case GNOME_Evolution_Storage_UNSUPPORTED_OPERATION:
- result = E_STORAGE_UNSUPPORTEDOPERATION;
- break;
- case GNOME_Evolution_Storage_UNSUPPORTED_TYPE:
- result = E_STORAGE_UNSUPPORTEDTYPE;
- break;
- case GNOME_Evolution_Storage_INVALID_URI:
- result = E_STORAGE_INVALIDNAME;
- break;
- case GNOME_Evolution_Storage_ALREADY_EXISTS:
- result = E_STORAGE_EXISTS;
- break;
- case GNOME_Evolution_Storage_DOES_NOT_EXIST:
- result = E_STORAGE_NOTFOUND;
- break;
- case GNOME_Evolution_Storage_PERMISSION_DENIED:
- result = E_STORAGE_PERMISSIONDENIED;
- break;
- case GNOME_Evolution_Storage_NO_SPACE:
- result = E_STORAGE_NOSPACE;
- break;
- case GNOME_Evolution_Storage_NOT_EMPTY:
- result = E_STORAGE_NOTEMPTY;
- break;
- case GNOME_Evolution_Storage_GENERIC_ERROR:
- default:
- result = E_STORAGE_GENERICERROR;
- break;
- }
+ result = e_corba_storage_corba_result_to_storage_result (*corba_result);
(* closure->callback) (closure->storage, result, closure->data);
bonobo_object_unref (BONOBO_OBJECT (listener));
@@ -714,5 +682,33 @@ e_corba_storage_show_folder_properties (ECorbaStorage *corba_storage,
CORBA_exception_free (&ev);
}
+EStorageResult
+e_corba_storage_corba_result_to_storage_result (GNOME_Evolution_Storage_Result corba_result)
+{
+ switch (corba_result) {
+ case GNOME_Evolution_Storage_OK:
+ return E_STORAGE_OK;
+ case GNOME_Evolution_Storage_UNSUPPORTED_OPERATION:
+ return E_STORAGE_UNSUPPORTEDOPERATION;
+ case GNOME_Evolution_Storage_UNSUPPORTED_TYPE:
+ return E_STORAGE_UNSUPPORTEDTYPE;
+ case GNOME_Evolution_Storage_INVALID_URI:
+ return E_STORAGE_INVALIDNAME;
+ case GNOME_Evolution_Storage_ALREADY_EXISTS:
+ return E_STORAGE_EXISTS;
+ case GNOME_Evolution_Storage_DOES_NOT_EXIST:
+ return E_STORAGE_NOTFOUND;
+ case GNOME_Evolution_Storage_PERMISSION_DENIED:
+ return E_STORAGE_PERMISSIONDENIED;
+ case GNOME_Evolution_Storage_NO_SPACE:
+ return E_STORAGE_NOSPACE;
+ case GNOME_Evolution_Storage_NOT_EMPTY:
+ return E_STORAGE_NOTEMPTY;
+ case GNOME_Evolution_Storage_GENERIC_ERROR:
+ default:
+ return E_STORAGE_GENERICERROR;
+ }
+}
+
E_MAKE_TYPE (e_corba_storage, "ECorbaStorage", ECorbaStorage, class_init, init, PARENT_TYPE)