[Pharo-project] strange loop

Stéphane Ducasse stephane.ducasse at inria.fr
Mon May 2 07:38:00 CEST 2011


:)

still the debugger got in a funky state and I do not like that.

Stef

On May 1, 2011, at 11:31 PM, Igor Stasenko wrote:

> On 1 May 2011 22:16, Stéphane Ducasse <stephane.ducasse at inria.fr> wrote:
>> 
>> On May 1, 2011, at 11:06 PM, Igor Stasenko wrote:
>> 
>>> On 1 May 2011 21:38, Stéphane Ducasse <stephane.ducasse at inria.fr> wrote:
>>>> this is strange
>>>> 
>>>> I was trying to code a simple list of method browser and my browser seems to
>>>> 
>>>> MorphExtension>>valueOfProperty: aSymbol
>>>>        "answer the value of the receiver's property named aSymbol"
>>>>        ^ extension ifNotNil: [extension valueOfProperty: aSymbol]
>>>> 
>>> hmm.. i have different implementation here:
>>> 
>>> valueOfProperty: aSymbol
>>> "answer the value of the receiver's property named aSymbol"
>>>       ^ self
>>>               valueOfProperty: aSymbol
>>>               ifAbsent: []
>>> 
>>> and there is no 'extension' ivar in MorphExtension class.
>>> Or you changed something there?
>> 
>> 
>> Not that I know.
>> I was just in plain 13380
>> 
> 
> [OT].. wow.. my image is already 300 updates behind..
> What the ...! 300 updates. I mean 300. updates!!!
> 
> And that is in scope of 1.3 development. :)))
> 
> 
>> 
>>> 
>>>> I end up in a endless loop
>>>> 
>>>> update: aParameter
>>>> 
>>>>        |state|
>>>>        aParameter  ifNil: [^self].
>>>>        getLabelSelector ifNotNil: [
>>>>                aParameter == getLabelSelector ifTrue: [
>>>>                        (self labelMorph respondsTo: #font)
>>>>                                ifTrue: [self label: (model perform: getLabelSelector) font: self labelMorph font]
>>>>                                ifFalse: [self label: (model perform: getLabelSelector)]]].
>>>>        state := self getModelState.
>>>>        (state ~= (self valueOfProperty: #lastState) or: [
>>>>                        ^^^
>>>> 
>>>> when I inspect self I get a PluggableButtonMorph
>>>> but the method shown in the debugger is MoprhExtension??????
>>>> 
>>>>        getStateSelector isNil and: [aParameter == #onOffColor]])
>>>>                ifTrue: [self color: self colorToUse.
>>>>                                self setProperty: #lastState toValue: state].
>>>>        aParameter == getEnabledSelector ifTrue: [^self enabled: (model perform: getEnabledSelector)].
>>>>        getColorSelector ifNotNil: [ | cc |
>>>>                color = (cc := model perform: getColorSelector)
>>>>                        ifFalse: [
>>>>                                color := cc.
>>>>                                self onColor: color offColor: color.
>>>>                                self changed ]].
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Best regards,
>>> Igor Stasenko AKA sig.
>> 
>> 
>> 
> 
> 
> 
> -- 
> Best regards,
> Igor Stasenko AKA sig.
> 




More information about the Pharo-project mailing list