I'm getting a debugger popping-up intermittently while just moving through the browser. Has anyone seen this?
Thanks.
VM: Win32 - Squeak3.4 of 1 March 2003 [latest update: #5170] Image: Squeak3.5 [latest update: #5180]
UndefinedObject(Object)>>doesNotUnderstand: Receiver: nil Arguments and temporary variables: aMessage: a Message with selector: #includes: and arguments: #(a StringMorph(37...etc... Receiver's instance variables: nil
MouseOverHandler>>noticeMouseOver:event: Receiver: a MouseOverHandler Arguments and temporary variables: aMorph: a StringMorph(3706)#'MonticelloCVS-Compatibility' anEvent: [76@3551 mouseOver nil] Receiver's instance variables: mouseOverMorphs: #(a StringMorph(3550)'all temp vars' a TransformMorph(818) a P...etc... enteredMorphs: nil overMorphs: nil leftMorphs: nil
HandMorph>>noticeMouseOver:event: Receiver: a HandMorph(3216) Arguments and temporary variables: aMorph: a StringMorph(3706)#'MonticelloCVS-Compatibility' anEvent: [76@3551 mouseOver nil] Receiver's instance variables: bounds: 759@769 corner: 775@785 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 759@769 corner: 775@785 color: Color blue extension: a MorphExtension (539) mouseFocus: nil keyboardFocus: a PluggableListMorph(3403) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [759@769 mouseUp 278848272] targetOffset: 119@12 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 278848272 759 769 0 0 0 0) genieGestureProcessor: nil
StringMorph(Morph)>>handleMouseOver: Receiver: a StringMorph(3706)#'MonticelloCVS-Compatibility' Arguments and temporary variables: anEvent: [76@3551 mouseOver nil] Receiver's instance variables: bounds: 0@3540 corner: 9999@3552 owner: a TransformMorph(449) submorphs: #() fullBounds: 0@3540 corner: 9999@3552 color: Color black extension: nil font: a StrikeFont(NewYork10 12) emphasis: 0 contents: #'MonticelloCVS-Compatibility' hasFocus: false
--- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: MouseOverHandler>>noticeMouseOver:event: HandMorph>>noticeMouseOver:event: StringMorph(Morph)>>handleMouseOver: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MouseEvent>>sentTo: StringMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: StringMorph(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: TransformMorph(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: PluggableListMorph(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: SystemWindow(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: PasteUpMorph(Morph)>>processEvent:using: PasteUpMorph>>processEvent:using: PasteUpMorph(Morph)>>processEvent: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: HandMorph>>handleEvent: MouseOverHandler>>processMouseOver: HandMorph>>processEvents [] in WorldState>>doOneCycleNowFor: Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: PasteUpMorph>>doOneCycle [] in Project class>>spawnNewProcess [] in BlockContext>>newProcess
Derek Brans Nerd on a Wire Web design that's anything but square http://www.nerdonawire.com mailto: brans@nerdonawire.com phone: 604.874.6463 toll-free: 1-877-NERD-ON-A-WIRE
On Saturday 02 August 2003 02:59 pm, Derek Brans wrote:
I'm getting a debugger popping-up intermittently while just moving through the browser. Has anyone seen this?
MouseOverHandler>>noticeMouseOver:event: leftMorphs: nil
...
MouseOverHandler>>processMouseOver:
Well, it's clear that something ate leftMorphs. Considering that in a stock image those are the only two methods writing into that instance variable, you've got a problem.
It would be interesting to trace how that occurred. Perhaps if ActiveEvent == lastMouseEvent and there were no events in processEvents, this would happen. But it looks like you'd have to call the processMouseOver: twice to get this to happen.
You could change noticeMouseOver:event: to this:
noticeMouseOver: aMorph event: anEvent "Remember that the mouse is currently over some morph" (leftMorphs notNil and: [ leftMorphs includes: aMorph]) ifTrue:[leftMorphs remove: aMorph] ifFalse:[enteredMorphs nextPut: aMorph]. overMorphs nextPut: aMorph.
squeak-dev@lists.squeakfoundation.org