This contains the following:
- Nested changes or invalidations using ExpressionHelper are delayed until the 
current emission completes
  - This fixes odd change events being produced (with incorrect oldValue)
  - Also fixes a bug in ExpressionHelper where a nested change would unlock the 
listener list early, which could cause a `ConcurrentModificationException` if a 
nested change was combined with a remove/add listener call
- A test for ExpressionHelper to verify the new behavior
- A test for all *Property and *Binding classes that verifies correct listener 
behavior at the API level (this tests gets 85% coverage on ExpressionHelper on 
its own, the only thing it is not testing is the locking behavior, which is not 
relevant at the API level).
- A fix for `WebColorFieldSkin` which triggered a nested change which used a 
flag to prevent an event loop (I've changed it now to match how 
`DoubleFieldSkin` and `IntegerFieldSkin` do it

-------------

Commit messages:
 - Delay nested event emission

Changes: https://git.openjdk.org/jfx/pull/837/files
 Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=837&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8290310
  Stats: 510 lines in 4 files changed: 468 ins; 13 del; 29 mod
  Patch: https://git.openjdk.org/jfx/pull/837.diff
  Fetch: git fetch https://git.openjdk.org/jfx pull/837/head:pull/837

PR: https://git.openjdk.org/jfx/pull/837

Reply via email to