[folks] key-file: Yield when setting properties on new personas
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [folks] key-file: Yield when setting properties on new personas
- Date: Fri, 2 Sep 2011 18:32:17 +0000 (UTC)
commit 17dcda00c5a993989bde31d0beca5338d5937c0f
Author: Philip Withnall <philip tecnocode co uk>
Date: Fri Sep 2 19:27:33 2011 +0100
key-file: Yield when setting properties on new personas
This fixes the libsocialweb aggregation test.
Helps: bgo#657510
backends/key-file/kf-persona-store.vala | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
---
diff --git a/backends/key-file/kf-persona-store.vala b/backends/key-file/kf-persona-store.vala
index a6fb09e..d4d075b 100644
--- a/backends/key-file/kf-persona-store.vala
+++ b/backends/key-file/kf-persona-store.vala
@@ -352,10 +352,24 @@ public class Folks.Backends.Kf.PersonaStore : Folks.PersonaStore
* key file */
Persona persona = new Kf.Persona (this._key_file, persona_id, this);
this._personas.set (persona.iid, persona);
- if (im_addresses != null)
- persona.im_addresses = im_addresses;
- if (web_service_addresses != null)
- persona.web_service_addresses = web_service_addresses;
+
+ try
+ {
+ if (im_addresses != null)
+ {
+ yield persona.change_im_addresses (im_addresses);
+ }
+ if (web_service_addresses != null)
+ {
+ yield persona.change_web_service_addresses (
+ web_service_addresses);
+ }
+ }
+ catch (PropertyError e)
+ {
+ /* This should never happen. */
+ throw new PersonaStoreError.CREATE_FAILED (e.message);
+ }
/* FIXME: GroupDetails.ChangeReason is not the right enum to use here */
var personas = new HashSet<Persona> ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]