diff options
Diffstat (limited to 'gnome-unstable/folks')
-rw-r--r-- | gnome-unstable/folks/Bug_658631_crash_at_empathy_startup.patch | 41 | ||||
-rw-r--r-- | gnome-unstable/folks/PKGBUILD | 22 |
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 } |