Re: recent Bonobo destroy/unref fix



Hi Darin,

On Tue, 11 Jul 2000, Darin Adler wrote:
> However, Nautilus does not yet compile because this function is no longer in
> a header. Did you expect that we would add a prototype for the function to  
> Nautilus as a temporary hack?
  
        Yep; just to make you feel unclean; =) It turns out this was
rather unneccessary since you fixed the problem beautifuly. I have been   
working all day trying to fix some of the rather evil reference counting  
bugs that currently riddle Bonobo; I spent the last few hours discovering
a whole new family:

        The 'bonobo_object_ref' then 'gtk_object_unref' one =) makes for
interesting back traces, much use of 'watch' and banging of head against  
desk both of which need dents removing.

        I've merged your fix up localy, but I want to spend some time
testing and working out the remaining few problems I'm seeing before
committing tommorow.

> It's customary to call through to the parent class in the implementation of
> a child class's "destroy" function, so after removing the call to
> bonobo_object_destroy in bonbobo_property_bag_destroy I believe you should
> have added a call to the parent class's destroy function. This call to
> parent class may be missing from other functions in bonobo as well, but it
> could be harmless in practice. Perhaps it's intentional?
  
        Indeed; not deliberate, an ommision on my part; I forget what the  
original did, but I have no doubt that it was quite grim. It is not only  
customary but mandatory to chain destructors, unless you are doing
something extremely stupid or clever =)        
  
        Thanks again for your nice patch, all will be well again tommorow
and the scourge of mixed reference counting all over will be gone.
  
        Regards,
  
                Michael.


-- 
 mmeeks@gnu.org  <><, Pseudo Engineer, itinerant idiot





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