Re: [evolution-patches] patch of bug 51187 on bugzilla
- From: Rodrigo Moya <rodrigo ximian com>
- To: Alfred Peng <alfred peng sun com>
- Cc: evolution-patches ximian com
- Subject: Re: [evolution-patches] patch of bug 51187 on bugzilla
- Date: Sat, 13 Mar 2004 17:07:53 +0100
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]