On Mon, 19 Dec 2022 15:50:19 GMT, Lukasz Kostyra <[email protected]> wrote:

> Creating a not-displayed node and then modifying its contents caused JFX to 
> not consume its old dirty region and thus not update it. When such node was 
> displayed, its old dirty region was used for drawing, which in some cases 
> (ex. new content taking more space - a Label having more text as in bug 
> request) caused it to clip.
> 
> Resolved by always unionizing dirty regions with new bounds when calculating 
> Node's transformed bounds.
> 
> Change was tested on macOS and Windows 10 and does not affect any tests.

modules/javafx.graphics/src/main/java/com/sun/javafx/sg/prism/NGNode.java line 
338:

> 336:             dirtyBounds = dirtyBounds.deriveWithUnion(transformedBounds);
> 337:         }
> 338:         dirtyBounds = dirtyBounds.deriveWithUnion(bounds);

Is it possible to create a unit test that fails with unmodified code but passes 
after the fix?

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

PR: https://git.openjdk.org/jfx/pull/978

Reply via email to