[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Withdrawn: (draf): ChangeListener events are incorrect or misleading when a nested change occurs
From:       duke <duke () openjdk ! org>
Date:       2023-07-26 8:10:02
Message-ID: fuRHvxLJykX9GeUqVXDNayN35f1X2OllvvQoBm1HFSw=.09991cc4-59a6-40dd-8a1c-3c25341f75c0 () github ! com
[Download RAW message or body]

On Sun, 17 Jul 2022 20:59:46 GMT, John Hendrikx <jhendrikx@openjdk.org> wrote:

> 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

This pull request has been closed without being integrated.

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

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic