aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-storage.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2000-09-12 02:28:22 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2000-09-12 02:28:22 +0800
commit2b9fedff8b596d7a26cde14fb51012a9b1335f5c (patch)
tree9cbd79f4605d78af4a402dc20f42489df34b7f52 /shell/evolution-storage.c
parent4889cc0a361e693fb9aa852e58ce5fa9bf889f5a (diff)
downloadgsoc2013-evolution-2b9fedff8b596d7a26cde14fb51012a9b1335f5c.tar
gsoc2013-evolution-2b9fedff8b596d7a26cde14fb51012a9b1335f5c.tar.gz
gsoc2013-evolution-2b9fedff8b596d7a26cde14fb51012a9b1335f5c.tar.bz2
gsoc2013-evolution-2b9fedff8b596d7a26cde14fb51012a9b1335f5c.tar.lz
gsoc2013-evolution-2b9fedff8b596d7a26cde14fb51012a9b1335f5c.tar.xz
gsoc2013-evolution-2b9fedff8b596d7a26cde14fb51012a9b1335f5c.tar.zst
gsoc2013-evolution-2b9fedff8b596d7a26cde14fb51012a9b1335f5c.zip
Make `EvolutionStorage' and `ELocalstorage' actually update the CORBA
listeners and fix a bug with the creation of the `EvolutionStorageListener' servant. svn path=/trunk/; revision=5334
Diffstat (limited to 'shell/evolution-storage.c')
-rw-r--r--shell/evolution-storage.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/shell/evolution-storage.c b/shell/evolution-storage.c
index ec68cf31a2..90ca36f397 100644
--- a/shell/evolution-storage.c
+++ b/shell/evolution-storage.c
@@ -172,6 +172,20 @@ impl_Storage__get_name (PortableServer_Servant servant,
return CORBA_string_dup (priv->name);
}
+static void
+impl_Storage_add_listener (PortableServer_Servant servant,
+ const Evolution_StorageListener listener,
+ CORBA_Environment *ev)
+{
+ BonoboObject *bonobo_object;
+ EvolutionStorage *storage;
+
+ bonobo_object = bonobo_object_from_servant (servant);
+ storage = EVOLUTION_STORAGE (bonobo_object);
+
+ add_listener (storage, listener);
+}
+
/* GtkObject methods. */
@@ -264,7 +278,8 @@ evolution_storage_get_epv (void)
POA_Evolution_Storage__epv *epv;
epv = g_new0 (POA_Evolution_Storage__epv, 1);
- epv->_get_name = impl_Storage__get_name;
+ epv->_get_name = impl_Storage__get_name;
+ epv->add_listener = impl_Storage_add_listener;
return epv;
}
@@ -411,10 +426,12 @@ evolution_storage_new_folder (EvolutionStorage *evolution_storage,
EVOLUTION_STORAGE_ERROR_INVALIDPARAMETER);
g_return_val_if_fail (path != NULL, EVOLUTION_STORAGE_ERROR_INVALIDPARAMETER);
g_return_val_if_fail (g_path_is_absolute (path), EVOLUTION_STORAGE_ERROR_INVALIDPARAMETER);
- g_return_val_if_fail (description != NULL, EVOLUTION_STORAGE_ERROR_INVALIDPARAMETER);
g_return_val_if_fail (type != NULL, EVOLUTION_STORAGE_ERROR_INVALIDPARAMETER);
g_return_val_if_fail (physical_uri != NULL, EVOLUTION_STORAGE_ERROR_INVALIDPARAMETER);
+ if (description == NULL)
+ description = "";
+
priv = evolution_storage->priv;
CORBA_exception_init (&ev);