Brian Pepple 0ab3dd
From 278de0b59eb5dee93f8436e982901438a55d5b19 Mon Sep 17 00:00:00 2001
Brian Pepple 0ab3dd
From: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Brian Pepple 0ab3dd
Date: Wed, 28 Mar 2012 09:22:28 +0000
Brian Pepple 0ab3dd
Subject: tpf-persona: use tp_connection_get_account()
Brian Pepple 0ab3dd
Brian Pepple 0ab3dd
telepathy-glib introduced API to get the TpAccount of a TpConnection so Folks
Brian Pepple 0ab3dd
doesn't have to do it manually.
Brian Pepple 0ab3dd
Brian Pepple 0ab3dd
This has the nice side effect of fixing a crash when TpAccount/TpConnection
Brian Pepple 0ab3dd
are momentary out of sync while connecting/disconnecting accounts.
Brian Pepple 0ab3dd
Brian Pepple 0ab3dd
https://bugzilla.gnome.org/show_bug.cgi?id=672980
Brian Pepple 0ab3dd
---
Brian Pepple 0ab3dd
diff --git a/NEWS b/NEWS
Brian Pepple 0ab3dd
index 0abe146..6d89c74 100644
Brian Pepple 0ab3dd
--- a/NEWS
Brian Pepple 0ab3dd
+++ b/NEWS
Brian Pepple 0ab3dd
@@ -1,7 +1,11 @@
Brian Pepple 0ab3dd
 Overview of changes from libfolks 0.6.8 to libfolks 0.6.9
Brian Pepple 0ab3dd
 =============================================================
Brian Pepple 0ab3dd
 
Brian Pepple 0ab3dd
+Dependencies:
Brian Pepple 0ab3dd
+• telepathy-glib ≥ 0.15.5
Brian Pepple 0ab3dd
+
Brian Pepple 0ab3dd
 Bugs fixed:
Brian Pepple 0ab3dd
+• Bug 672980 — tp_account_get_protocol: assertion `TP_IS_ACCOUNT (account)' failed
Brian Pepple 0ab3dd
 
Brian Pepple 0ab3dd
 Overview of changes from libfolks 0.6.7 to libfolks 0.6.8
Brian Pepple 0ab3dd
 =============================================================
Brian Pepple 0ab3dd
diff --git a/backends/telepathy/lib/tpf-persona.vala b/backends/telepathy/lib/tpf-persona.vala
Brian Pepple 0ab3dd
index 0b23b33..282b35d 100644
Brian Pepple 0ab3dd
--- a/backends/telepathy/lib/tpf-persona.vala
Brian Pepple 0ab3dd
+++ b/backends/telepathy/lib/tpf-persona.vala
Brian Pepple 0ab3dd
@@ -614,7 +614,7 @@ public class Tpf.Persona : Folks.Persona,
Brian Pepple 0ab3dd
     {
Brian Pepple 0ab3dd
       unowned string id = contact.get_identifier ();
Brian Pepple 0ab3dd
       var connection = contact.connection;
Brian Pepple 0ab3dd
-      var account = this._account_for_connection (connection);
Brian Pepple 0ab3dd
+      var account = connection.get_account ();
Brian Pepple 0ab3dd
       var uid = this.build_uid (store.type_id, store.id, id);
Brian Pepple 0ab3dd
 
Brian Pepple 0ab3dd
       Object (contact: contact,
Brian Pepple 0ab3dd
@@ -663,7 +663,7 @@ public class Tpf.Persona : Folks.Persona,
Brian Pepple 0ab3dd
 
Brian Pepple 0ab3dd
       /* Set our single IM address */
Brian Pepple 0ab3dd
       var connection = this.contact.connection;
Brian Pepple 0ab3dd
-      var account = this._account_for_connection (connection);
Brian Pepple 0ab3dd
+      var account = connection.get_account ();
Brian Pepple 0ab3dd
 
Brian Pepple 0ab3dd
       try
Brian Pepple 0ab3dd
         {
Brian Pepple 0ab3dd
@@ -1005,25 +1005,6 @@ public class Tpf.Persona : Folks.Persona,
Brian Pepple 0ab3dd
         }
Brian Pepple 0ab3dd
     }
Brian Pepple 0ab3dd
 
Brian Pepple 0ab3dd
-  private static Account? _account_for_connection (Connection conn)
Brian Pepple 0ab3dd
-    {
Brian Pepple 0ab3dd
-      var manager = AccountManager.dup ();
Brian Pepple 0ab3dd
-      var accounts = manager.get_valid_accounts ();
Brian Pepple 0ab3dd
-
Brian Pepple 0ab3dd
-      Account account_found = null;
Brian Pepple 0ab3dd
-      accounts.foreach ((l) =>
Brian Pepple 0ab3dd
-        {
Brian Pepple 0ab3dd
-          unowned Account account = (Account) l;
Brian Pepple 0ab3dd
-          if (account.connection == conn)
Brian Pepple 0ab3dd
-            {
Brian Pepple 0ab3dd
-              account_found = account;
Brian Pepple 0ab3dd
-              return;
Brian Pepple 0ab3dd
-            }
Brian Pepple 0ab3dd
-        });
Brian Pepple 0ab3dd
-
Brian Pepple 0ab3dd
-      return account_found;
Brian Pepple 0ab3dd
-    }
Brian Pepple 0ab3dd
-
Brian Pepple 0ab3dd
   private void _contact_notify_presence_message ()
Brian Pepple 0ab3dd
     {
Brian Pepple 0ab3dd
       this.presence_message = this.contact.get_presence_message ();
Brian Pepple 0ab3dd
diff --git a/configure.ac b/configure.ac
Brian Pepple 0ab3dd
index c540bc5..2f5cd0d 100644
Brian Pepple 0ab3dd
--- a/configure.ac
Brian Pepple 0ab3dd
+++ b/configure.ac
Brian Pepple 0ab3dd
@@ -145,7 +145,7 @@ AM_CONDITIONAL([ENABLE_LIBSOCIALWEB],
Brian Pepple 0ab3dd
 # -----------------------------------------------------------
Brian Pepple 0ab3dd
 
Brian Pepple 0ab3dd
 GLIB_REQUIRED=2.24.0
Brian Pepple 0ab3dd
-TP_GLIB_REQUIRED=0.13.1
Brian Pepple 0ab3dd
+TP_GLIB_REQUIRED=0.15.5
Brian Pepple 0ab3dd
 VALA_REQUIRED=0.15.2
Brian Pepple 0ab3dd
 VALADOC_REQUIRED=0.3.1
Brian Pepple 0ab3dd
 TRACKER_SPARQL_MAJOR=0.14
Brian Pepple 0ab3dd
--
Brian Pepple 0ab3dd
cgit v0.9.0.2