Review request for 7125456: [macosx] Programmatically selecting List item triggers an ItemEvent

Alexander Potochkin Alexander.Potochkin at oracle.com
Tue Jan 17 09:29:16 PST 2012


Hello Sergey

valueChanged() can be called in two scenarios:

1) by LWLisetPeer itself,
select() and initialize() methods - they use delegateLock

2) by the the user's action,
LWComponentPeer.sendEventToDelegate() also posts events under the 
delegateLock

Do you mean any other scenarios?

Thanks
alexp

> Probably isSkipStateChangedEvent() should use getDelegateLock()?
>
>  182         public boolean isSkipStateChangedEvent() {
>  183             return skipStateChangedEvent;
>  184         }
> I mean that we setskipStateChangedEvent  to false under delegateLock  
> on main thread
> getDelegate().setSkipStateChangedEvent(false);
>
> but later we can read it on EDT without lock?
>
> public void valueChanged(final ListSelectionEvent e) {
>  192             if (!e.getValueIsAdjusting()&&  
> !isSkipStateChangedEvent()) {
>
>
>> Thanks
>> alexp
>>
>
>



More information about the macosx-port-dev mailing list