On Thu, 26 Oct 2023 00:31:52 GMT, Michael Strauß <mstra...@openjdk.org> wrote:
>> Jose Pereda has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Migrate old tests to JUnit 5 > > modules/javafx.graphics/src/main/java/javafx/scene/layout/BorderPane.java > line 414: > >> 412: final Insets insets = getInsets(); >> 413: if (width != -1) { >> 414: width -= (insets.getLeft() + insets.getRight()); > > Let's say we call `computeMinHeight(10)`, but the left and right insets are > 20. This means that `width` is now -10, which probably means "ignore the > value" (the spec isn't entirely clear about that, but -10 is not a valid > width in any case). > > I think the following code might be better: > > if (width >= 0) { > width = Math.max(0, width - insets.getLeft() - insets.getRight()); > } The `width` value passed to `computeMinHeight` (if not -1) should be the result of a call to `computeMinWidth(-1)` (depending on the result of `getContentBias`; this is specified somewhere); if that function always includes the insets, then subtracting them here should not result in a negative value. Of course, one can never be too careful. I don't like the changing of the meaning of the `width` parameter here though using parameter assignment. ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1203#discussion_r1372711490