JDK-8151710 : JavaFX: Some shapes do not appear after calling setSmooth(false)
  • Type: Bug
  • Component: javafx
  • Sub-Component: graphics
  • Affected Version: 8u40,9
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2016-03-11
  • Updated: 2016-11-21
  • Resolved: 2016-09-16
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.
JDK 9
9Resolved
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
After using setSmooth(false) the following shapes do not appear correctly:
 - Circle
 - Path circle
 - Arc
Comments
Alexey, is this bug fix still in your plans to meet ZBB (Oct 20)? http://openjdk.java.net/projects/jdk9/
07-09-2016

OK, we will use the separate bug to track the fix in Pisces.
01-04-2016

I guess that will work too. My thought was that this JIRA was opened as a mirror to a case in the bug db and it might get resolved if customer has an easy global setting or a simple fix on their side.
15-03-2016

Why is a separate bug ID needed? This bug is public so why can it not be used?
15-03-2016

Created a Java Pisces Rasteriser ticket to track the pisces bug
15-03-2016

Mystery solved. Linux is the only platform that doesn't use native pisces rasteriser by default. The test case renders fine on both sw pipe and es2 pipe if I forced JavaFX to use the native pisces rasteriser on Linux. This suggests that this is a bug in the Java pisces rasteriser. The easy workaround for the application is to set this global property to true: java -Dprism.nativepisces=true FxTest2
14-03-2016

This looks like a Linux only issue. I ran the test case on all 3 platforms - Linux, Mac and Windows (d3d, es2). Mac and Windows render fine running 8udev (including 8u72) and 9. However I did notice missing shapes if run the test case on Linux and the set of missing shapes are different consistently between es2 pipe and sw pipe. This is puzzling to me. The rendering looks good like in the case of Mac and Windows if I commented all setSmooth(false) statements in the test case. This is essentially back to pre 8u40 where setSmooth(false) is treated as a no-op.
14-03-2016

The smooth property on Shape was ignored prior to 8u40. It is now honored as a fundamental part of the fix for JDK-8094313. Workaround: Setting smooth=true on all shapes will restore the pre-8u40 behavior.
11-03-2016