On Mon, 2012-02-13 at 21:52 +0100, Patrick Ohly wrote:
>   * A second invocation of SyncEvolution finds the definition of the
>     system address book via e_book_get_addressbooks() and tries to
>     open it with e_book_open(only_if_exists=false), which then fails
>     with various errors, depending on the EDS version ("Cannot open
>     book: db error 0x2 (No such file or directory)" in 3.2,
>     "DB_RUNRECOVERY" in 3.3).
> 
> The problem can be avoided by always passing only_if_exists=true to
> the open calls. The way how the API is defined and/or implemented,
> creating an database definition and creating the actual database files
> are two different steps.

        Hi,
that's rather a bug in the backend. Calling with only_if_exists=false
might mean that the backend should create a new book/calendar, in case
it's not available yet. Otherwise, if you call with only_if_exists=true,
the backend should claim an error when the requested book/calendar
cannot be opened.

The logic in the backend's code seems to be inverted, from your
description.
        Bye,
        Milan

_______________________________________________
evolution-hackers mailing list
[email protected]
To change your list options or unsubscribe, visit ...
http://mail.gnome.org/mailman/listinfo/evolution-hackers

Reply via email to