After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 685986 - ESourceRegistry: Wait for signals after creating sources
ESourceRegistry: Wait for signals after creating sources
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Contacts
3.6.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-addressbook-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2012-10-11 16:24 UTC by Conor Curran
Modified: 2012-10-27 12:50 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Conor Curran 2012-10-11 16:24:16 UTC
taken from :
https://mail.gnome.org/archives/evolution-hackers/2012-October/msg00012.html

The issue is on the client side in ESourceRegistry.  I had some pretty
nasty code at one time to deal with this but must have yanked it while
reworking the APIs.

Even after the remote method call completes, ESourceRegistry will still
have to stop and wait for an "object-added" signal from its internal
GDBusObjectManagerClient, which is running in its own isolated thread.
The "object-added" signal has the new GDBusObject needed to build the
new ESource instance.  And it can't complete on just any "object-added"
signal -- it has to be the "object-added" signal corresponding to the
scratch ESource that was just submitted.
Comment 1 Matthew Barnes 2012-10-27 12:50:34 UTC
Think I managed to solve this, and even wrote a test case for it.  But as it's rather delicate code I'm only committing the change for 3.7.x for now.  If it fares well in 3.7.x then I'll consider backporting it for 3.6.x.

Fixed for Evolution-Data-Server 3.7.2 in:
http://git.gnome.org/browse/evolution-data-server/commit/?id=6f98b459bd9abd55dbdee995e4bdb15da3797023