diff options
author | Rodrigo Moya <rodrigo@ximian.com> | 2002-07-16 03:22:36 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@src.gnome.org> | 2002-07-16 03:22:36 +0800 |
commit | a0e89c35a5bcaafdd6aa3a4faf1563fbc92a9447 (patch) | |
tree | 061a155a62bb0768bbef54f9906a9a1bc56e384c /shell/evolution-storage.c | |
parent | ac9cea6dde28ef3b597d19a4f2b1a06f42b15d8a (diff) | |
download | gsoc2013-evolution-a0e89c35a5bcaafdd6aa3a4faf1563fbc92a9447.tar.gz gsoc2013-evolution-a0e89c35a5bcaafdd6aa3a4faf1563fbc92a9447.tar.zst gsoc2013-evolution-a0e89c35a5bcaafdd6aa3a4faf1563fbc92a9447.zip |
no need to convert the value returned by e_folder_tree_get_folder to a
2002-07-14 Rodrigo Moya <rodrigo@ximian.com>
* evolution-storage.c (impl_Storage_getFolderAtPath): no need to
convert the value returned by e_folder_tree_get_folder to a
GNOME_Evolution_Folder, since it already is, and duplicate it before
returning.
svn path=/trunk/; revision=17461
Diffstat (limited to 'shell/evolution-storage.c')
-rw-r--r-- | shell/evolution-storage.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/shell/evolution-storage.c b/shell/evolution-storage.c index b3ea8089bb..b8468790e0 100644 --- a/shell/evolution-storage.c +++ b/shell/evolution-storage.c @@ -280,23 +280,32 @@ impl_Storage_getFolderAtPath (PortableServer_Servant servant, BonoboObject *bonobo_object; EvolutionStorage *storage; EvolutionStoragePrivate *priv; - EFolder *folder; GNOME_Evolution_Folder *corba_folder; + GNOME_Evolution_Folder *return_value; bonobo_object = bonobo_object_from_servant (servant); storage = EVOLUTION_STORAGE (bonobo_object); priv = storage->priv; - folder = e_folder_tree_get_folder (priv->folder_tree, path); - if (folder == NULL) { + corba_folder = e_folder_tree_get_folder (priv->folder_tree, path); + if (corba_folder == NULL) { CORBA_exception_set (ev, CORBA_USER_EXCEPTION, ex_GNOME_Evolution_Storage_NotFound, NULL); return NULL; } - corba_folder = GNOME_Evolution_Folder__alloc (); - e_folder_to_corba (folder, "", corba_folder); - - return corba_folder; + /* duplicate CORBA structure */ + return_value = GNOME_Evolution_Folder__alloc (); + return_value->type = CORBA_string_dup (corba_folder->type); + return_value->description = CORBA_string_dup (corba_folder->description); + return_value->displayName = CORBA_string_dup (corba_folder->displayName); + return_value->physicalUri = CORBA_string_dup (corba_folder->physicalUri); + return_value->evolutionUri = CORBA_string_dup (corba_folder->evolutionUri); + return_value->customIconName = CORBA_string_dup (corba_folder->customIconName); + return_value->unreadCount = corba_folder->unreadCount; + return_value->canSyncOffline = corba_folder->canSyncOffline; + return_value->sortingPriority = corba_folder->sortingPriority; + + return return_value; } static void |