aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-storage.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2002-09-20 01:10:21 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2002-09-20 01:10:21 +0800
commite5775b9f555c8a4215c766e80caabfd882745abf (patch)
tree4cf45e8e285f7feb476ca634e4c36fa8b81d3a02 /shell/evolution-storage.c
parent5f467a8f64182807cae9a27da004f84770590b7d (diff)
downloadgsoc2013-evolution-e5775b9f555c8a4215c766e80caabfd882745abf.tar.gz
gsoc2013-evolution-e5775b9f555c8a4215c766e80caabfd882745abf.tar.zst
gsoc2013-evolution-e5775b9f555c8a4215c766e80caabfd882745abf.zip
(evolution_storage_update_folder): Do not
stop propagating the notification to the listeners if ::notifyFolderUpdate() fails. [#27662 (?)] svn path=/trunk/; revision=18117
Diffstat (limited to 'shell/evolution-storage.c')
-rw-r--r--shell/evolution-storage.c22
1 files changed, 5 insertions, 17 deletions
diff --git a/shell/evolution-storage.c b/shell/evolution-storage.c
index 2f55fbbae4..e5d63404ab 100644
--- a/shell/evolution-storage.c
+++ b/shell/evolution-storage.c
@@ -1154,9 +1154,8 @@ evolution_storage_update_folder (EvolutionStorage *evolution_storage,
{
EvolutionStorageResult result;
EvolutionStoragePrivate *priv;
- CORBA_Environment ev;
- GList *p;
GNOME_Evolution_Folder *corba_folder;
+ GList *p;
g_return_val_if_fail (evolution_storage != NULL,
EVOLUTION_STORAGE_ERROR_INVALIDPARAMETER);
@@ -1173,31 +1172,20 @@ evolution_storage_update_folder (EvolutionStorage *evolution_storage,
if (priv->corba_storage_listeners == NULL)
return EVOLUTION_STORAGE_ERROR_NOTREGISTERED;
- CORBA_exception_init (&ev);
-
result = EVOLUTION_STORAGE_OK;
for (p = priv->corba_storage_listeners; p != NULL; p = p->next) {
GNOME_Evolution_StorageListener listener;
+ CORBA_Environment ev;
+
+ CORBA_exception_init (&ev);
listener = p->data;
GNOME_Evolution_StorageListener_notifyFolderUpdated (listener, path, unread_count, &ev);
- if (ev._major == CORBA_NO_EXCEPTION)
- continue;
-
- if (ev._major != CORBA_USER_EXCEPTION)
- result = EVOLUTION_STORAGE_ERROR_CORBA;
- else if (strcmp (CORBA_exception_id (&ev), ex_GNOME_Evolution_StorageListener_NotFound) == 0)
- result = EVOLUTION_STORAGE_ERROR_NOTFOUND;
- else
- result = EVOLUTION_STORAGE_ERROR_GENERIC;
-
- break;
+ CORBA_exception_free (&ev);
}
- CORBA_exception_free (&ev);
-
if (result == EVOLUTION_STORAGE_OK) {
corba_folder = e_folder_tree_get_folder (priv->folder_tree, path);
if (corba_folder != NULL)