Skip to content

No property change happens when a value is explicitly set to NaN that was undefined before #255

@draeger

Description

@draeger

When listening to changes in a model, the TreeNodeChangeListener is activated when a previously undefined double value is explicitly set to NaN but then nothing happens because we are comparing the old value with the new value using a call to the equals method here. Appearantly, undefined values are NaN behind the scenes. The setValue method still notices the difference and calls the change listeners because there the difference is identified using an != operator (see here).

My suggestion for a fix would be to change the check in AbstractTreeNode so that in addition to !equals also a check via != is performed, i.e.,

else if ((oldValue != null) && (!oldValue.equals(newValue) || oldValue != newValue))

Could such a change have any unwanted effects, too?

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions