JDK-8265510 : Decide behavior of getRenderRoot() when dirty region rect is empty.
  • Type: Bug
  • Component: javafx
  • Sub-Component: scenegraph
  • Affected Version: 8,9,openjfx11,openjfx16
  • Priority: P5
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2021-04-20
  • Updated: 2021-05-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Relates :  
Relates :  
Description
RenderRootTest has tests for verifying behavior of getRenderRoot() method when dirty region is an empty rect i.e. (0, 0, -1, -1)

tests: emptyDirtyRegion1, emptyDirtyRegion2, invalidDirtyRegionOutsideOpaqueRegion

See RectBounds.makeEmpty() and RectBounds.isEmpty() for definition of an empty rect. 

Current behavior is that when an empty dirty region rect is passed to root.getRenderRoot(), it returns the root itself in NodePath, which means that entire scenegraph tree of the root shall be rendered.

Other behavior could be that no rendering should happen when the dirty rect is empty.
We need to choose a behavior and make related changes.

As of now we think current behavior is more correct and changing it is more likely to cause regressions. If we go with this approach then it will only be test bug.