[Cuis-dev] Primitive fail when:send:to:withArguments:
Hilaire Fernandes
hilaire at drgeo.eu
Wed May 18 08:25:05 PDT 2022
Hi Juan,
Now it does not fail.
But there is a strange behavior, for some object it is not registered
correctly. In the code below:
visitArrayPreference: aPref
| list listMorph |
aPref isTypeAClass ifTrue: [^ self visitArrayClassPreference: aPref].
listMorph _ DropDownListMorph
model: (list _ ListModel with: aPref type)
listGetter: #list
indexGetter: #listIndex
indexSetter: #listIndex: ::
autoDeselect: false;
setBalloonText: aPref description.
list listIndex: (aPref type indexOf: aPref value).
list when: #listSelectionChanged send: #changedList:for: to: self
withArguments: {list. aPref}.
list inspect.
views at: aPref name capitalized put: listMorph
For the preferernce guiElementsSize, the actionMap of the list looks
correct:
an IdentityDictionary(#changed:->#(WeakMessageSend(#update: -> *)
WeakMessageSend(#update: -> ))
#listSelectionChanged->WeakMessageSend(#changedList:for: -> a
PreferenceBrowserVisitor) )
But for other preference (#atMinusDigitMeaning), some part missing in
the actionMap, the destination of #changeList:for is nil:
an IdentityDictionary(#changed:->#(WeakMessageSend(#update: -> *)
WeakMessageSend(#update: -> ))
#listSelectionChanged->WeakMessageSend(#changedList:for: -> nil) )
If I put a halt in the middle if the method, the actionMap is then
correct. Looks like race condition issues?
I will try to investigate later.
Hilaire
--
GNU Dr. Geo
http://drgeo.eu
http://blog.drgeo.eu
More information about the Cuis-dev
mailing list