From 0ab3dd038530bafde24a0dfe478ee40001931e97 Mon Sep 17 00:00:00 2001 From: Brian Pepple Date: Mar 30 2012 13:20:44 +0000 Subject: Backport patch to fix crash cause by TpAccount are out of sync. - Bump minimum version of tp-glib needed. --- diff --git a/folks-use_tp_connection_get_account.patch b/folks-use_tp_connection_get_account.patch new file mode 100644 index 0000000..6e01699 --- /dev/null +++ b/folks-use_tp_connection_get_account.patch @@ -0,0 +1,92 @@ +From 278de0b59eb5dee93f8436e982901438a55d5b19 Mon Sep 17 00:00:00 2001 +From: Guillaume Desmottes +Date: Wed, 28 Mar 2012 09:22:28 +0000 +Subject: tpf-persona: use tp_connection_get_account() + +telepathy-glib introduced API to get the TpAccount of a TpConnection so Folks +doesn't have to do it manually. + +This has the nice side effect of fixing a crash when TpAccount/TpConnection +are momentary out of sync while connecting/disconnecting accounts. + +https://bugzilla.gnome.org/show_bug.cgi?id=672980 +--- +diff --git a/NEWS b/NEWS +index 0abe146..6d89c74 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,7 +1,11 @@ + Overview of changes from libfolks 0.6.8 to libfolks 0.6.9 + ============================================================= + ++Dependencies: ++• telepathy-glib ≥ 0.15.5 ++ + Bugs fixed: ++• Bug 672980 — tp_account_get_protocol: assertion `TP_IS_ACCOUNT (account)' failed + + Overview of changes from libfolks 0.6.7 to libfolks 0.6.8 + ============================================================= +diff --git a/backends/telepathy/lib/tpf-persona.vala b/backends/telepathy/lib/tpf-persona.vala +index 0b23b33..282b35d 100644 +--- a/backends/telepathy/lib/tpf-persona.vala ++++ b/backends/telepathy/lib/tpf-persona.vala +@@ -614,7 +614,7 @@ public class Tpf.Persona : Folks.Persona, + { + unowned string id = contact.get_identifier (); + var connection = contact.connection; +- var account = this._account_for_connection (connection); ++ var account = connection.get_account (); + var uid = this.build_uid (store.type_id, store.id, id); + + Object (contact: contact, +@@ -663,7 +663,7 @@ public class Tpf.Persona : Folks.Persona, + + /* Set our single IM address */ + var connection = this.contact.connection; +- var account = this._account_for_connection (connection); ++ var account = connection.get_account (); + + try + { +@@ -1005,25 +1005,6 @@ public class Tpf.Persona : Folks.Persona, + } + } + +- private static Account? _account_for_connection (Connection conn) +- { +- var manager = AccountManager.dup (); +- var accounts = manager.get_valid_accounts (); +- +- Account account_found = null; +- accounts.foreach ((l) => +- { +- unowned Account account = (Account) l; +- if (account.connection == conn) +- { +- account_found = account; +- return; +- } +- }); +- +- return account_found; +- } +- + private void _contact_notify_presence_message () + { + this.presence_message = this.contact.get_presence_message (); +diff --git a/configure.ac b/configure.ac +index c540bc5..2f5cd0d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -145,7 +145,7 @@ AM_CONDITIONAL([ENABLE_LIBSOCIALWEB], + # ----------------------------------------------------------- + + GLIB_REQUIRED=2.24.0 +-TP_GLIB_REQUIRED=0.13.1 ++TP_GLIB_REQUIRED=0.15.5 + VALA_REQUIRED=0.15.2 + VALADOC_REQUIRED=0.3.1 + TRACKER_SPARQL_MAJOR=0.14 +-- +cgit v0.9.0.2 diff --git a/folks.spec b/folks.spec index e9a1e4e..92d6621 100644 --- a/folks.spec +++ b/folks.spec @@ -1,15 +1,16 @@ -%define tp_glib_ver 0.13.1 +%define tp_glib_ver 0.15.5 Name: folks Epoch: 1 Version: 0.6.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GObject contact aggregation library Group: System Environment/Libraries License: LGPLv2+ URL: http://telepathy.freedesktop.org/wiki/Folks Source0: http://download.gnome.org/sources/folks/0.6/%{name}-%{version}.tar.xz +Patch0: folks-use_tp_connection_get_account.patch BuildRequires: telepathy-glib-devel >= %{tp_glib_ver} BuildRequires: telepathy-glib-vala @@ -49,10 +50,11 @@ developing applications that use %{name}. %prep %setup -q +%patch0 -p1 -b .connection %build -%configure --disable-static --enable-eds-backend +%configure --disable-static --enable-eds-backend --enable-vala make %{?_smp_mflags} V=1 @@ -86,6 +88,10 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %changelog +* Fri Mar 30 2012 Brian Pepple - 1:0.6.8-2 +- Backport patch to fix crash cause by TpAccount are out of sync. +- Bump minimum version of tp-glib needed. + * Mon Mar 26 2012 Brian Pepple - 1:0.6.8-1 - Update to 0.6.8. - Bump minimum verions of libsocialweb-devel and vala-devel.