Thanks.
I think that for the MouseOverHandler it would be good to know if this
is related to Sensor changes.
Mike what you think?
Stef
On Jun 3, 2009, at 11:38 PM, Hernan Wilkinson wrote:
> Hi,
> I know this is not the right way to send fixes, but it is the
> fastest... so maybe it is useful for those who need them.
> I had a lot of problems using the last pharo image, some are
> related with the new debugger, some are old errors related with
> buttons, some are related with the OmmiBrowser (I send them here too
> because I know that the OB authors are subscribed to this list and
> because that is the main pharo browser), etc.
> Most of the problems are because nil receives a message that does
> not understand. I did not look for the reason that made the variable
> reference nil (maybe the best solution) but only added a #isNil
> check (the fastest solution).
> I had to disable the new debugger and get back to the old one
> (Debugger) because I was getting to many errors with the new one
> saying "It could not debug a running process".
> Here are the fixes:
>
> 1) This one made the image to crash because it entered a infinite
> loop. The problem is that sometime getStateSelector is nil.
>
> PluggableButtonMorph>>getModelState
> "Answer the result of sending the receiver's model the
> getStateSelector message."
>
> ^(getStateSelector isNil or: [ model isNil ])
> ifTrue: [false]
> ifFalse: [model perform: getStateSelector]
> ---------------
>
> 2) This one is related with what Sean Allen reported. Again
> leftMorphs is nil, so I added a #isNil check. (For me this class is
> a mess, but I do not have the experience to change it yet)
>
> MouseOverHandler>>noticeMouseOver: aMorph event: anEvent
> "Remember that the mouse is currently over some morph"
> leftMorphs isNil ifFalse: [
> (leftMorphs includes: aMorph)
> ifTrue:[leftMorphs remove: aMorph]
> ifFalse:[enteredMorphs nextPut: aMorph].
> overMorphs nextPut: aMorph.]
> --------------
>
> 3) OCompletion does not work with the old debugger
> because#guessTypeForName: references tempNames that is not
> defined... So I just disallowed it.
>
> Debugger>>guessTypeForName: aString
> | index object |
> index := nil. "tempNames
> indexOf: aString
> ifAbsent: []."
> object := index
> ifNil: [index := self receiver class
> allInstVarNames
> indexOf: aString
> ifAbsent: [].
> index ifNil: [^ nil].
> self receiver instVarAt: index]
> ifNotNil: [self selectedContext tempAt: index].
> ^ object class
> --------------
> All the rest are OB related.
> 4) When pressing the mouse right button (on windows) I had a error
> saying OBTextSelection does not understand #isClassNode, so I
> implemented returning false. Again, I did not verify if an
> OBTextSelection should receive that message or not, I just
> implemented.
>
> OBTextSelection>>isClassNode
>
> ^false
> ---------------
> 5) After loading a Monticello package I could not open an OB browser
> anymore. Again, the problem is that ea is nil sometimes.
>
> OBBrowser>>scanNodeCommands: ann
> (cmdFactories select: [:ea | ea notNil and: [ ea takesNodes]])
> do: [:ea | ann addFactory: ea]
> -------------------
> 6) Similar to 5.
>
> OBBrowser>>scanTextCommands: ann
> (cmdFactories select: [:ea | ea notNil and: [ ea takesText ]]) do:
> [:ea | ann addFactory: ea]
> ------------------
> 7) This is an error I reported to OB a long time ago, related with
> pressing or selecting the cancel option.
>
> OBDefinitionPanel>>aboutToChange: ann
>
> | ans answerResult vetoBlock |
>
> self canDiscardEdits ifTrue: [^ true].
> vetoBlock := [ ann veto ].
> ans := OBChoiceRequest
> prompt: 'Code has been modified. Do you want to accept
> or discard the changes?'
> labels: {'Accept'. 'Discard'. 'Cancel'}
> values: (Array
> with: [self changed: #accept]
> with: [self changed: #clearUserEdits]
> with: vetoBlock ).
>
> answerResult := ans value.
> answerResult isNil ifTrue: vetoBlock.
> --------------------
>
> I hope it helps.
>
> Hernan.
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project