[Chandler-dev] new-markup-bar problems

Grant Baillie grant at osafoundation.org
Mon Apr 24 14:10:05 PDT 2006


On Apr 24, 2006, at 1:12 , John Anderson wrote:

> Hi Reid:
>
> I think your problem probably doesn't have anything to do with  
> using a BoxContainer. Errors about C++ objects being deleted  
> usually are caused when the C++ objects that are wrapped by Python  
> objects get deleted unexpectedly. Sometimes this can be a side  
> effect of rendering/unrendering, or by wxPython thinking it owns  
> the object instead of you. I'm used to tracking down these kinds of  
> problems, so if you have trouble tracking it down I'd be happy to  
> help.

In this case, the entire detail view is being torn down and rebuilt  
because the Kind of the item in the detail view just changed as a  
result of stamping. This is happening via the method  
DetailRootBlock.onItemKindChanged() in parcels/osaf/framework/blocks/ 
detail/Detail.py.

Either:

   - Whatever code is handling the LeftMouseUp should take care of  
the case of self being destroyed as a result of dispatching an event  
(this is also possible in other cases, like clicking on a button to  
dismiss a dialog).

or

   - DetailRootBlock.onItemKindChanged() shouldn't call  
self.parentBlock.synchronizeWidget() directly (line 102), but put in  
some kind of delay. (IIRC, there's some way of dirtying blocks that  
will make them synchronize the next time through the event loop).

--Grant




More information about the chandler-dev mailing list