On Wed, 12 Feb 2020 12:01:03 GMT, dannygonzalez 
<github.com+6702882+dannygonza...@openjdk.org> wrote:

>> hmm ... wouldn't the change violate spec of adding listeners:
>> 
>>> If the same listener is added more than once, then it will be notified more 
>>> than once.
> 
>> hmm ... wouldn't the change violate spec of adding listeners:
>> 
>> > If the same listener is added more than once, then it will be notified 
>> > more than once.
> 
> True, I hadn't read that spec in ObservableValueBase. 
> Although that does seem odd behaviour to me. Obviously as the original 
> implementation was using an array I can see how the implementation drove that 
> specification.
> 
> Non of the JavaFx unit tests test for that specific case as the unit tests 
> all passed. It would be nice if there was a specific test case for this 
> behaviour.
> 
> I would need to store a registration count for each listener to satisfy this 
> requirement.

> 
> Although that does seem odd behaviour to me. Obviously as the original 
> implementation was using an array I can see how the implementation drove that 
> specification.
> 

whatever drove it (had been so since the beginning ot java desktop, at least 
since the days of swing), there is no way to change it, is it?

> Non of the JavaFx unit tests test for that specific case as the unit tests 
> all passed. It would be nice if there was a specific test case for this 
> behaviour.
> 

yeah, the test coverage is ... not optimal :)

> I would need to store a registration count for each listener to satisfy this 
> requirement.

a count plus some marker as to where it was added: 

   addListener(firstL)
   addListener(secondL)
   addListener(firstL)

must result in firstL.invalidated, seconL.invalidated, firstL.invalidated .. 
which brings us back to .. an array?

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

PR: https://git.openjdk.java.net/jfx/pull/108

Reply via email to