Review request for 7125456: [macosx] Programmatically selecting List item triggers an ItemEvent (original) (raw)

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