[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