diff --git a/app/src/main/java/io/xpipe/app/comp/base/ListBoxViewComp.java b/app/src/main/java/io/xpipe/app/comp/base/ListBoxViewComp.java index 505257c2b..a31d94cfd 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/ListBoxViewComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/ListBoxViewComp.java @@ -144,6 +144,8 @@ public class ListBoxViewComp extends Comp> { } vbox.sceneProperty().addListener((observable, oldValue, newValue) -> { + dirty.set(true); + if (newValue != null) { animationTimer.start(); } else { @@ -151,12 +153,12 @@ public class ListBoxViewComp extends Comp> { } Node c = vbox; - while ((c = c.getParent()) != null) { + do { c.boundsInParentProperty().addListener((observable1, oldValue1, newValue1) -> { dirty.set(true); }); - } - dirty.set(true); + } while ((c = c.getParent()) != null); + if (newValue != null) { newValue.heightProperty().addListener((observable1, oldValue1, newValue1) -> { dirty.set(true); @@ -173,8 +175,7 @@ public class ListBoxViewComp extends Comp> { var paneHeight = pane.getHeight(); var scrollCenter = box.getBoundsInLocal().getHeight() * pane.getVvalue(); var minBoundsHeight = scrollCenter - paneHeight; - // Expand a little bit more to the bottom for scrolling - var maxBoundsHeight = scrollCenter + (paneHeight * 1.5); + var maxBoundsHeight = scrollCenter + paneHeight; var nodeMinHeight = node.getBoundsInParent().getMinY(); var nodeMaxHeight = node.getBoundsInParent().getMaxY(); diff --git a/version b/version index f0ff266d2..9536106a3 100644 --- a/version +++ b/version @@ -1 +1 @@ -15.4-8 +15.4-9