Re: [evolution-patches] Patch for #59335 - calendar



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]