Re: [Evolution-hackers] e_cal_new_system_calendar() -> creates a new calendar each time?



On Thu, 2011-04-07 at 10:47 +0200, Patrick Ohly wrote: 
> The sequence of events is this:
>      1. e_cal_new_system_calendar()
>      2. e_cal_new_from_uri("local:system", ...
>      3. get source list
>      4. search_known_sources() by comparing e_source_peek_absolute_uri()
>         against "local:system"
>      5. no source found, create anew
> 
> Step 4 fails because there is no absolute URI:
> 
> (gdb) p source->priv->absolute_uri
> $11 = (gchar *) 0x0
> (gdb) p source->priv->relative_uri
> $12 = (gchar *) 0x8079450 "system"
> 
> Therefore e_source_peek_absolute_uri() returns NULL and the comparison
> fails.

Perhaps it should be calling e_source_get_uri() instead, which either
returns the explicit absolute URI or constructs one from the group's
base URI + the source's relative URI.

The absolute URI for the "system" calendar is "local:system".  There
should be no slash.  That's a bug.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]