Re: [evolution-patches] Patch for #59335 - calendar
- From: Rodrigo Moya <rodrigo novell com>
- To: Harish Krishnaswamy <harish krishnaswamy gmail com>
- Cc: Evolution Patches <evolution-patches lists ximian com>
- Subject: Re: [evolution-patches] Patch for #59335 - calendar
- Date: Fri, 30 Jul 2004 14:22:37 +0200
On Fri, 2004-07-30 at 08:42 +0530, Harish Krishnaswamy wrote:
> hi,
>
> The current patch addresses the issues (or atleast most of them) that
> were causing the bug#59335 in the first place.
> Thanks to chen for his valuable help .. we have also attempted to
> explain some of the interesting stuff we were wondering about while
> studying this issue..
>
> ? why is e_cal_open_async getting called more than once !!!
>
> The create_component_view function in calendar-component.c
> invokes the update_selection and update_primary_selection calls in
> sequence - that end up calling e_cal_open_async on the same client.
> This ensured that e_cal_open_async was called atleast twice everytime.
> (when the client was enabled and highlighted at the same time).
>
> > why would cal_opened_cb be called if the calendar has not been opened
> > yet?
> >
> As a result, the second call of e_cal_open_async encounters a busy
> status on the calendar. The open_calendar function currently (that the
> patch fixes now) does not set the value of status on any of the exit
> points like BUSY and AUTHENTICATION_REQUIRED errors. When these
> conditions occur, async_signal_idle_cb sends a cal_opened signal with an
> OK status - which explains cal_opened_cb being called before the
> calendar has been loaded.
>
> [When the client_cal_opened_cb receives an OK status, it invokes the
> e_cal_model_add_client that triggered additional calls to
> e_cal_open_async when add_new_client finds the client not to be in
> loaded state].
>
> This loop runs for an unspecified number of times before the
> authentication is successfully done.
> The listeners on cal_opened_cb in e-cal-model.c were disconnected once
> the spurious OK status is received.
> Hence, though the calendar was successfully loaded, the views were not
> getting updated and required a 'refresh' for the events to show up.
>
> When we tested the patch out, we noticed a few other problems as all the
> callback functions bundle 'busy' errors into 'not ok' errors and attempt
> to remove the source. The patch handles these scenarios as well..
>
looks good to me
--
Rodrigo Moya <rodrigo novell com>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]