Re: [evolution-patches] patch of bug 51187 on bugzilla



On Wed, 2004-03-10 at 18:27 +0800, Alfred Peng wrote:

> Dear rodrigo,
>      I have a patch of bug 51187 on bugzilla.
>       My evolution version is uptodate, and cvs download from trunk on 
> 2004-3-9.
> 
>      You can reproduce the problem following the steps:
>         1.Create a  appointment in the calender today.
>         2.setup up a alarm for this appointment.
>         3.Drag and Drop this appointment to another day, before or after.
>     result:
>        evolution-alarm-notify crash
> 
>     Stepping into the source code, I found that the main problem is in 
> the file calendar/gui/alarm-notify/alarm-queue.c, function 
> "query_objects_changed_cb".
>     When returning from the function "e_cal_get_alarms_for_object", the 
> variable "alarms" or "alarms->alarms"maybe NULL. And then, if we've 
> added the component to the hash table before,  we can get the 
> corresponding "cqa" to the variable "uid". The 
> program evolution-alarm-notify will be in trouble.
>     In some conditions, the "alarms" is NULL, and trouble happened at 
> the code "(sl = cqa->alarms->alarms; sl; sl = sl->next)"; In some other 
> conditions, the "alarms->alarms" is NULL, and evolution-alarm-notify 
> will crash in the function "remove_comp", the code "g_assert 
> (cqa->queued_alarms != NULL)" will failed.
>     So my opinion is to check the "alarms" and the "alarms->alarms" 
> before proceeding, just as the patch shows. If one of the two variables 
> is NULL, just remove the alarms. Otherwise, update it in the following 
> steps.
>    
>     By the way, I don't understand the usage of the member variable 
> "expecting_update" clearly.
> 
>     I'm looking for your answering.

looks ok to me, please commit.

cheers




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