[squeak-dev] DockingBarMorph appears to hang onto windows.

Eliot Miranda eliot.miranda at gmail.com
Sun May 20 17:06:42 UTC 2012


Hi All,

   through a combination of the windows menu and oldKeyboardFocus and
oldMouseFocus the DockingBarMorph holds onto closed windows.  Repeat by e.g.

- inspect a new instance of some class that has no instances (ZeroDivide
works for me).

- Click on the Windows menu to populate it (it should include the
ZeroDivide inspector).

- Close the inspector, run the GC (e.g. ask for space left).

- Then check the class's instance count (ZeroDivide instanceCount).  Should
be non-zero.

- Inspect the instance (ZeroDivide allInstances inspect) and do chase
pointers and you'll get a reference back through the DockingBarMorph:

globals: SystemDictionary
#World -> PasteUpMorph
submorphs: Array
2: DockingBarMorph
oldKeyboardFocus: TextMorphForEditView
editView: PluggableTextMorphPlus
model: Inspector
object: ZeroDivide

- To clear, open the WIndows menu again (which now doesn't show the closed
inspector) and run GC.  Now check instanceCount and it is back to zero.

This is annoying because it can hold onto large objects.  I guess when
morphs are deleted from the world they ought to clear themselves from the
DockingBarMorph.  But I'm a bit nervous about making such a change, and
hence thought I'd run it by the list first.
-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20120520/5834bb70/attachment.htm


More information about the Squeak-dev mailing list