On Mon, 19 Dec 2022 15:50:19 GMT, Lukasz Kostyra <lkost...@openjdk.org> 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.

The change looks good.
Verified the computed `dirtyBounds` with and without the change. They look as 
expected.
I shall test more with some apps(Ensemble).
Providing one minor suggestion.

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

> 333:         } else {
> 334:             // TODO I think this is vestigial from Scenario and will 
> never
> 335:             // actually occur in real life... (RT-23956)

The comments should be removed and updated to explain the scenario when flow 
enters the else block and I think RT-23956 can be closed with this fix.

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

Changes requested by arapte (Reviewer).

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

Reply via email to