Re: [evolution-patches] patch for #61273 (changes in e-source-group.c)



On Fri, 2004-07-16 at 12:58 +0530, Sivaiah N wrote:
> Hi,
> The attached patch removes the signal handler registered (for CHANGED
> singal of ESource) on Esource object by ESourceGroup when the ESource
> group object is removed from ESourceGroup object. 
> 	There is a problem if we do not do this, when somebody removes a
> ESource object from group but does not unref the ESource object. This
> ESource Object gets a weak_ref notification (group_weak_notify) when
> EsourceGroup object is being disposed. group_weak_notify emits CHANGED
> signal on source, resulting in call to source_changed_callback (in
> e-source-group.c) which emits signal on group which is just being
> disposed thus resulting in crash. I could not find out  though  where in
> evolution code  ESource object is removed from group but not cleaned up,
> but this patch solves the crash.
> 
> Hope my understanding is correct :)
> 
> Interestingly  this crash happens with snaps but not with evolution
> which i have built from sources. The different versions of GLib is
> making the difference i guess. Version in Gobject.pc from snaps is 2.2.3
> and what i have from sources is 2.4.0

This looks correct to me, I think we should probably be more generic
when disconnecting from the source though (in the other spots, not just
in your changes), disconnecting all signals by data.  However the
current patch is consistent with the existing source, so "approved".

-JP
-- 
JP Rosevear <jpr novell com>
Novell, Inc.




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