'From Squeak3.1alpha of 28 February 2001 [latest update: #4239] on 9 August 2001 at 5:40:33 pm'! "Change Set: DataStrmVarStore-tk Date: 9 August 2001 Author: Ted Kaehler Ross Boylan discovered a long standing bug. When enumerating objects with a DummyStream, I 'saved time' by skipping the variable length fields of all classes except Array. Not a good idea. Fixed here."! !Object methodsFor: 'objects from disk' stamp: 'tk 8/9/2001 15:40'! storeDataOn: aDataStream "Store myself on a DataStream. Answer self. This is a low-level DataStream/ReferenceStream method. See also objectToStoreOnDataStream. NOTE: This method must send 'aDataStream beginInstance:size:' and then (nextPut:/nextPutWeak:) its subobjects. readDataFrom:size: reads back what we write here." | cntInstVars cntIndexedVars | cntInstVars _ self class instSize. cntIndexedVars _ self basicSize. aDataStream beginInstance: self class size: cntInstVars + cntIndexedVars. 1 to: cntInstVars do: [:i | aDataStream nextPut: (self instVarAt: i)]. "Write fields of a variable length object. When writing to a dummy stream, don't bother to write the bytes" ((aDataStream byteStream class == DummyStream) and: [self class isBits]) ifFalse: [ 1 to: cntIndexedVars do: [:i | aDataStream nextPut: (self basicAt: i)]]. ! ! !HandMorph methodsFor: 'initialization' stamp: 'tk 8/9/2001 16:55'! initForEvents mouseOverHandler _ nil. lastMouseEvent _ MouseEvent new setType: #mouseMove position: 0@0 buttons: 0 hand: self. lastEventBuffer _ {1. 0. 0. 0. 0. 0. nil. nil}. self resetClickState.! !