Omnibase forgetAllGrabcommandsFrom: problem
Ned Konz
ned at bike-nomad.com
Mon Jun 30 23:53:00 UTC 2003
On Monday 30 June 2003 04:12 pm, Derek Brans wrote:
> CommandHistory class>>forgetAllGrabCommandsFrom:
>
> This method gets executed when saving and quitting the image. The
> method seems to enumerate a whole bunch of objects in the image,
> starting at nil.
> ODBReference>>doesNotUnderstand:
> [] in CommandHistory class>>forgetAllGrabCommandsFrom:
Three possible fixes come to mind:
1. Define ODBReference>>isMorph to return false (don't know if this is
appropriate).
2. rewrite forgetAllGrabCommandsFrom: to look something like the
rather ugly:
(((Smalltalk systemNavigation allImplementorsOf: #isMorph)
asSet collect: [ :ea | ea actualClass ]) remove: Object; yourself)
do: [ :cls | cls allSubInstancesDo: [ :ea |
ea isMorph ifTrue: [ ea removeProperty: #undoGrabCommand ] ].
This assumes, of course, that you don't have objects that dynamically
decide they're Morph-like.
3. Make sure that there are no ODBReference objects around when
CommandHistory class does its shutdown (probably by sticking
something before CommandHistory on the shutdown list that can get rid
of all the ODBReference objects).
--
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE
More information about the Squeak-dev
mailing list
|