aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ChangeLog5
-rw-r--r--shell/evolution-shell-component-client.c14
2 files changed, 17 insertions, 2 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 4b1d82a765..8577f7c709 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,6 +1,11 @@
2001-03-26 Ettore Perazzoli <ettore@ximian.com>
* evolution-shell-component-client.c
+ (shell_component_result_from_corba_exception): Implement.
+
+2001-03-26 Ettore Perazzoli <ettore@ximian.com>
+
+ * evolution-shell-component-client.c
(evolution_shell_component_client_async_xfer_folder): Handle CORBA
exception.
(evolution_shell_component_client_async_create_folder): Likewise.
diff --git a/shell/evolution-shell-component-client.c b/shell/evolution-shell-component-client.c
index d177cf2577..1f6b0273b6 100644
--- a/shell/evolution-shell-component-client.c
+++ b/shell/evolution-shell-component-client.c
@@ -127,6 +127,16 @@ dispatch_callback (EvolutionShellComponentClient *shell_component_client,
(* callback) (shell_component_client, result, callback_data);
}
+static EvolutionShellComponentResult
+shell_component_result_from_corba_exception (const CORBA_Environment *ev)
+{
+ if (ev->_major == CORBA_NO_EXCEPTION)
+ return EVOLUTION_SHELL_COMPONENT_OK;
+ if (ev->_major == CORBA_SYSTEM_EXCEPTION)
+ return EVOLUTION_SHELL_COMPONENT_CORBAERROR;
+ return EVOLUTION_SHELL_COMPONENT_CORBAERROR; /* FIXME? */
+}
+
/* CORBA listener interface implementation. */
@@ -576,7 +586,7 @@ evolution_shell_component_client_async_create_folder (EvolutionShellComponentCli
if (ev._major != CORBA_NO_EXCEPTION && priv->callback != NULL) {
(* callback) (shell_component_client,
- shell_component_result_from_corba_exception (ev),
+ shell_component_result_from_corba_exception (&ev),
data);
priv->callback = NULL;
priv->callback_data = NULL;
@@ -637,7 +647,7 @@ evolution_shell_component_client_async_xfer_folder (EvolutionShellComponentClien
if (ev._major != CORBA_NO_EXCEPTION && priv->callback != NULL) {
(* callback) (shell_component_client,
- shell_component_result_from_corba_exception (ev),
+ shell_component_result_from_corba_exception (&ev),
data);
priv->callback = NULL;
priv->callback_data = NULL;