From e5775b9f555c8a4215c766e80caabfd882745abf Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Thu, 19 Sep 2002 17:10:21 +0000 Subject: (evolution_storage_update_folder): Do not stop propagating the notification to the listeners if ::notifyFolderUpdate() fails. [#27662 (?)] svn path=/trunk/; revision=18117 --- shell/ChangeLog | 6 ++++++ shell/evolution-storage.c | 22 +++++----------------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/shell/ChangeLog b/shell/ChangeLog index 3f89a3575d..48bcbc8f6e 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,9 @@ +2002-09-19 Ettore Perazzoli + + * evolution-storage.c (evolution_storage_update_folder): Do not + stop propagating the notification to the listeners if + ::notifyFolderUpdate() fails. [#27662 (?)] + 2002-09-19 Ettore Perazzoli * e-storage-set-view.c (resort): New. 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) -- cgit v1.2.3