[folks] TpfPersonaStore: return null in add_persona_from_details() if persona is already in contact list



commit 40f614da5dd245922386cd4ad6ddeb8afc536ed7
Author: Xavier Claessens <xavier claessens collabora co uk>
Date:   Tue Apr 10 17:05:19 2012 +0200

    TpfPersonaStore: return null in add_persona_from_details() if persona is already in contact list
    
    https://bugzilla.gnome.org/show_bug.cgi?id=630822

 backends/telepathy/lib/tpf-persona-store.vala |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/backends/telepathy/lib/tpf-persona-store.vala b/backends/telepathy/lib/tpf-persona-store.vala
index 7625cbb..5f4f73d 100644
--- a/backends/telepathy/lib/tpf-persona-store.vala
+++ b/backends/telepathy/lib/tpf-persona-store.vala
@@ -1144,10 +1144,13 @@ public class Tpf.PersonaStore : Folks.PersonaStore
       try
         {
           var persona = yield this._ensure_persona_for_id (contact_id);
+          var already_exists = persona.is_in_contact_list;
           var tp_persona = (Tpf.Persona) persona;
-          tp_persona.contact.request_subscription_async (add_message);
+          yield tp_persona.contact.request_subscription_async (add_message);
 
-          return persona;
+          /* This function is supposed to return null if the persona was already
+           * in the contact list. */
+          return already_exists ? null : persona;
         }
       catch (GLib.Error e)
         {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]