The misbehaviour was that an edit handler received both a commit and cancel 
event when cell commitEdit is called. That happened whenever a collaborator 
reset the controls editing state (either directly or indirectly) while 
processing the editCommit event. The reason was that the cell had not yet 
updated its own editing state when receiving the change of editing from the 
control.

Fix is to update cell's editing state before firing the event, that is change 
the sequence or method calls from fire/super.commit to super.commit/fire.

Added tests that fail/pass before/after the fix.

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

Commit messages:
 - 8187307: LisingtView, TableView, TreeView: receives editCancel event

Changes: https://git.openjdk.java.net/jfx/pull/684/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=684&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8187307
  Stats: 158 lines in 8 files changed: 117 ins; 29 del; 12 mod
  Patch: https://git.openjdk.java.net/jfx/pull/684.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/684/head:pull/684

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

Reply via email to