Bug 667410 — A second aggregator instance only fetches a subset of contacts
authorPhilip Withnall <philip@tecnocode.co.uk>
Fri, 6 Jan 2012 23:05:05 +0000 (23:05 +0000)
committerPhilip Withnall <philip@tecnocode.co.uk>
Mon, 9 Jan 2012 11:26:45 +0000 (11:26 +0000)
commitd258c86814c0dd4405a8a2b7a45f3d2a036fa1eb
treeeb0ee644f715039417287c301c7fb60b427c96f4
parent93a0fa7049f9a94ff917fa3bba24b376257a7c2b
Bug 667410 — A second aggregator instance only fetches a subset of contacts

This was happening because the initial BackendStore was hanging around across
multiple IndividualAggregator instances, keeping all the Backends,
PersonaStores and Personas alive.

The IndividualAggregator didn’t have code to deal with pre-prepared Backends
and PersonaStores, meaning it never realised the Personas existed (because
they weren’t announced via personas-changed signals), and thus never created
Individuals out of them.

This commit fixes the problem by having IndividualAggregator check for
existing Backends, PersonaStores and Personas when prepare() is called.

It also adds a test case to the folks test suite, based on the one written
by Guillaume in bgo#667410.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=667410
NEWS
folks/backend.vala
folks/individual-aggregator.vala
folks/persona-store.vala
tests/folks/init.vala