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


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

Reply via email to