> When a divider is moved via drag or code it will call **requestLayout()** for 
> the **SplitPane**.
> While this is fine, it is also called when the 
> **SplitPaneSkin#layoutChildren(..)** method is repositioning the divider.
> 
> This makes no sense since we are currently layouting everything, so we don't 
> need to request it again. (The divider positioning is the first part of 
> **layoutChildren(..)**. In the second part the SplitPane content is layouted 
> based off those positions)
> 
> -> With this behaviour the layout may hang under some conditions (check 
> attached source). The problem is that the **requestLayout()** will mark the 
> **SplitPane** dirty but won't propagate to the parent since the **SplitPane** 
> is currently doing a layout.
> 
> This PR fixes this by not requesting layout when we are currently doing it 
> (and thus repositioning the dividers as part of it).
> 
> Note: I also fixed a simple typo of a private method in SplitPaneSkin:
> initializeDivderEventHandlers -> initializeDiv**i**derEventHandlers

Marius Hanl has updated the pull request incrementally with one additional 
commit since the last revision:

  8277122: Added test for setting a negative divider position + improved 
readability

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

Changes:
  - all: https://git.openjdk.java.net/jfx/pull/669/files
  - new: https://git.openjdk.java.net/jfx/pull/669/files/919f5db8..9db28ff0

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=669&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=669&range=00-01

  Stats: 27 lines in 2 files changed: 14 ins; 1 del; 12 mod
  Patch: https://git.openjdk.java.net/jfx/pull/669.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/669/head:pull/669

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

Reply via email to