diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2002-09-20 01:10:21 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2002-09-20 01:10:21 +0800 |
commit | e5775b9f555c8a4215c766e80caabfd882745abf (patch) | |
tree | 4cf45e8e285f7feb476ca634e4c36fa8b81d3a02 /shell | |
parent | 5f467a8f64182807cae9a27da004f84770590b7d (diff) | |
download | gsoc2013-evolution-e5775b9f555c8a4215c766e80caabfd882745abf.tar gsoc2013-evolution-e5775b9f555c8a4215c766e80caabfd882745abf.tar.gz gsoc2013-evolution-e5775b9f555c8a4215c766e80caabfd882745abf.tar.bz2 gsoc2013-evolution-e5775b9f555c8a4215c766e80caabfd882745abf.tar.lz gsoc2013-evolution-e5775b9f555c8a4215c766e80caabfd882745abf.tar.xz 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')
-rw-r--r-- | shell/ChangeLog | 6 | ||||
-rw-r--r-- | 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,5 +1,11 @@ 2002-09-19 Ettore Perazzoli <ettore@ximian.com> + * 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 <ettore@ximian.com> + * e-storage-set-view.c (resort): New. (sort_idle_callback): Use it. (insert_storages): Use resort() instead of queue_resort() so we 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) |