src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java
changeset 58321 7f55aad34ac4
parent 51933 4ec74929fbfe
--- a/src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java	Sat Sep 07 11:38:36 2019 -0700
+++ b/src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java	Tue Sep 10 21:20:51 2019 +0200
@@ -245,7 +245,8 @@
             widthScale = 1.0f;
         } else if ((at.getType() & (AffineTransform.TYPE_GENERAL_TRANSFORM  |
                                     AffineTransform.TYPE_GENERAL_SCALE)) != 0) {
-            widthScale = (float)Math.sqrt(at.getDeterminant());
+            // Determinant may be negative (flip), use its absolute value:
+            widthScale = (float)Math.sqrt(Math.abs(at.getDeterminant()));
         } else {
             // First calculate the "maximum scale" of this transform.
             double A = at.getScaleX();       // m00