[Evolution] Bug#641898: Bug#641898: libebook: e_book_get_changes always reports no changes in libebook evolution data server

Chris Frey cdfrey at foursquare.net
Fri Sep 23 03:17:19 UTC 2011


On Sat, Sep 17, 2011 at 11:04:42AM +0200, Yves-Alexis Perez wrote:
> It might be worth identifiying when the bug was closed upstream and see
> if it's possible to backport that fix to stable. Not something I'll be
> able to do soon though, but if you manage to identify a relevant patch,
> that would definitely help.

I couldn't find anything upstream... the changes in upstream code were
too large to find a simple fix, but after much debugging, it ended up
being a one-liner in e_data_book_respond_get_changes().  I've confirmed
that this fixes my issue.

The patch is below.

I noticed that there is an upcoming point release, according to
http://www.debian.org/News/2011/20110919, and that there's a Sept 24
deadline for bugs and testing.  If this fix could be included in the
next Squeeze point release, I'd be happy and grateful!!

Thanks,
- Chris



>From 15ad5dc232f493afef212a8217e82eedd0fe6e64 Mon Sep 17 00:00:00 2001
From: Chris Frey <cdfrey at foursquare.net>
Date: Thu, 22 Sep 2011 23:07:29 -0400
Subject: [PATCH] Fixed libedata-book's e_data_book_respond_get_changes(): missing array add

When building the get_changes DBUS response, the code forgot to add the
values to the response array, resulting in get_changes calls that never
returned any data.

This fixes Ubuntu bug:
https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/658459

and Debian bug:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641898
---
 addressbook/libedata-book/e-data-book.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/addressbook/libedata-book/e-data-book.c b/addressbook/libedata-book/e-data-book.c
index 7794e8b..d7a2a80 100644
--- a/addressbook/libedata-book/e-data-book.c
+++ b/addressbook/libedata-book/e-data-book.c
@@ -620,6 +620,10 @@ e_data_book_respond_get_changes (EDataBook *book, guint32 opid, EDataBookStatus
 			/* Now change->vcard is owned by the GValue */
 
 			g_free (change);
+
+			/* append vals to array */
+			g_ptr_array_add(array, vals);
+
 			changes = g_list_remove (changes, change);
 		}
 
-- 
1.7.2.3






More information about the Pkg-evolution-maintainers mailing list