summaryrefslogtreecommitdiff
path: root/gnome-unstable/folks
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-09-14 23:14:41 +0000
committerroot <root@rshg054.dnsready.net>2011-09-14 23:14:41 +0000
commitd5effc9aadfb9ed5890376ca9497eef52fafcf83 (patch)
treef630036c6ee41473fffa6086618dcc803d1fe391 /gnome-unstable/folks
parenta712dc92423a31a4d3ab34fe660df550feebf442 (diff)
Wed Sep 14 23:14:41 UTC 2011
Diffstat (limited to 'gnome-unstable/folks')
-rw-r--r--gnome-unstable/folks/Bug_658631_crash_at_empathy_startup.patch41
-rw-r--r--gnome-unstable/folks/PKGBUILD22
2 files changed, 57 insertions, 6 deletions
diff --git a/gnome-unstable/folks/Bug_658631_crash_at_empathy_startup.patch b/gnome-unstable/folks/Bug_658631_crash_at_empathy_startup.patch
new file mode 100644
index 000000000..6ba35bc02
--- /dev/null
+++ b/gnome-unstable/folks/Bug_658631_crash_at_empathy_startup.patch
@@ -0,0 +1,41 @@
+From 1f85f89051e63b05e271b418687c242a83e2f296 Mon Sep 17 00:00:00 2001
+From: Philip Withnall <philip@tecnocode.co.uk>
+Date: Mon, 12 Sep 2011 22:09:10 +0000
+Subject: Bug 658631 — crash at empathy startup
+
+In the case that a persona is removed and the individual containing that
+persona is replaced by a different non-null individual which doesn't contain
+that persona (because it's been removed), we need to set the persona's
+individual pointer to null rather than the replacement individual.
+
+This stops us tripping the assertion in the setter for Persona.individual.
+
+Closes: bgo#658631
+---
+diff --git a/folks/individual.vala b/folks/individual.vala
+index 3b6c12b..59548ee 100644
+--- a/folks/individual.vala
++++ b/folks/individual.vala
+@@ -1510,7 +1510,19 @@ public class Folks.Individual : Object,
+ * aggregator's rewritten, it would be nice to fix this. */
+ if (persona.individual == this)
+ {
+- persona.individual = replacement_individual;
++ /* It may be the case that the persona's being removed from the
++ * individual (i.e. the replacement individual is non-null, but
++ * doesn't contain this persona). In this case, we need to set the
++ * persona's individual to null. */
++ if (replacement_individual != null &&
++ persona in replacement_individual.personas)
++ {
++ persona.individual = replacement_individual;
++ }
++ else
++ {
++ persona.individual = null;
++ }
+ }
+ }
+
+--
+cgit v0.9.0.2
diff --git a/gnome-unstable/folks/PKGBUILD b/gnome-unstable/folks/PKGBUILD
index 13ff2b06c..b4e164e5c 100644
--- a/gnome-unstable/folks/PKGBUILD
+++ b/gnome-unstable/folks/PKGBUILD
@@ -1,21 +1,31 @@
-# $Id: PKGBUILD 137520 2011-09-08 18:28:46Z ibiru $
+# $Id: PKGBUILD 138001 2011-09-13 21:34:06Z heftig $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgname=folks
pkgver=0.6.2.1
-pkgrel=1
+pkgrel=2
pkgdesc="Library to aggregates people into metacontacts "
arch=(i686 x86_64)
url="http://telepathy.freedesktop.org/wiki/Folks"
license=('LGPL2.1')
depends=('telepathy-glib' 'libgee' 'libxml2' 'evolution-data-server' 'libsocialweb')
-makedepends=('gobject-introspection' 'vala' 'intltool')
+makedepends=('gobject-introspection' 'vala' 'intltool' 'libtracker-sparql')
options=('!libtool')
-source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.6/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('3eda79a71890b51b6f723067b61c32ef25e9041a9e188b483d7f23e3dcd328ee')
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.6/${pkgname}-${pkgver}.tar.xz
+ Bug_658631_crash_at_empathy_startup.patch)
+sha256sums=('3eda79a71890b51b6f723067b61c32ef25e9041a9e188b483d7f23e3dcd328ee'
+ '4ef4caaab73e799fe31e7a93ba1f3f088e99f66600e644828bbcc4fb966c1196')
build() {
cd "$srcdir/$pkgname-$pkgver"
- ./configure --prefix=/usr
+
+ # Fix a crash
+ patch -Np1 -i "$srcdir/Bug_658631_crash_at_empathy_startup.patch"
+ find . -name '*.stamp' -delete
+
+ # Change tracker version
+ grep -lr sparql-0.10 . | xargs sed -i 's/sparql-0.10/sparql-0.12/g'
+
+ ./configure --prefix=/usr --enable-tracker-backend
make
}