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