changeset 1483:5792b1816fac

2009-04-29 Omair Majid <omajid@redhat.com> * patches/icedtea-java2d-mitre-join.patch: New patch. Backport fix for mitre join decorations from OpenJDK7 (S6812600) along with its test. * Makefile.am (ICEDTEA_PATCHES): Apply the above. * HACKING: Document the above.
author Omair Majid <omajid@redhat.com>
date Wed, 29 Apr 2009 09:28:35 -0400
parents a37e9b594cb2
children 9d89e1ada1c8
files ChangeLog HACKING Makefile.am patches/icedtea-java2d-mitre-join.patch
diffstat 4 files changed, 73 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Apr 29 04:53:32 2009 -0400
+++ b/ChangeLog	Wed Apr 29 09:28:35 2009 -0400
@@ -1,3 +1,10 @@
+2009-04-29  Omair Majid  <omajid@redhat.com>
+
+	* patches/icedtea-java2d-mitre-join.patch: New patch. Backport fix for
+	mitre join decorations from OpenJDK7 (S6812600) along with its test.
+	* Makefile.am (ICEDTEA_PATCHES): Apply the above.
+	* HACKING: Document the above.
+
 2009-04-29  Gary Benson  <gbenson@redhat.com>
 
 	* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
--- a/HACKING	Wed Apr 29 04:53:32 2009 -0400
+++ b/HACKING	Wed Apr 29 09:28:35 2009 -0400
@@ -92,6 +92,7 @@
 * icedtea-jtreg-printjob-edgetest-manual.patch: Mark test that requires user interaction as manual.
 * icedtea-jtreg-jrunscript.patch: Fix jrunscript test so it works with newer versions of rhino (by comparing the actual numbers).
 * icedtea-ignore-unrecognized-options.patch: Add -XX:+IgnoreUnrecognizedVMOptions flag to hotspot (S6788376).
+* icedtea-java2d-mitre-join.patch: Backport fix for mitre join decoration (S6812600).
 
 The following patches are only applied to OpenJDK6 in IcedTea6:
 
--- a/Makefile.am	Wed Apr 29 04:53:32 2009 -0400
+++ b/Makefile.am	Wed Apr 29 09:28:35 2009 -0400
@@ -677,6 +677,7 @@
 	patches/icedtea-jtreg-jrunscript.patch \
 	patches/icedtea-network-unreachable.patch \
 	patches/icedtea-dnd-filelists.patch \
+	patches/icedtea-java2d-mitre-join.patch \
 	$(DISTRIBUTION_PATCHES)
 
 stamps/extract.stamp: stamps/download.stamp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/icedtea-java2d-mitre-join.patch	Wed Apr 29 09:28:35 2009 -0400
@@ -0,0 +1,64 @@
+diff -r 59696dfd5455 -r 9318628e8eee src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java
+--- openjdk/jdk/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java	Thu Mar 12 12:01:49 2009 -0700
++++ openjdk/jdk/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java	Mon Mar 16 11:46:26 2009 -0700
+@@ -245,6 +245,7 @@
+                              FloatToS15_16(coords[1]));
+                 break;
+             case PathIterator.SEG_CLOSE:
++                lsink.lineJoin();
+                 lsink.close();
+                 break;
+             default:
+diff -r 59696dfd5455 -r 9318628e8eee test/sun/pisces/JoinMiterTest.java
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ openjdk/jdk/test/sun/pisces/JoinMiterTest.java	Mon Mar 16 11:46:26 2009 -0700
+@@ -0,0 +1,48 @@
++/*
++ * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++ *
++ * This code is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 only, as
++ * published by the Free Software Foundation.
++ *
++ * This code is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++ * version 2 for more details (a copy is included in the LICENSE file that
++ * accompanied this code).
++ *
++ * You should have received a copy of the GNU General Public License version
++ * 2 along with this work; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
++ * CA 95054 USA or visit www.sun.com if you need additional information or
++ * have any questions.
++ */
++
++/* @test
++ * @summary Pass if no RuntimeException.
++ * @bug 6812600
++ */
++import java.awt.*;
++import java.awt.image.BufferedImage;
++
++public class JoinMiterTest {
++
++  public static void main(String[] args) throws Exception {
++    BufferedImage image = new BufferedImage(200, 200,
++BufferedImage.TYPE_INT_RGB);
++    Graphics2D g = image.createGraphics();
++    g.setPaint(Color.WHITE);
++    g.fill(new Rectangle(image.getWidth(), image.getHeight()));
++    g.translate(25, 100);
++    g.setPaint(Color.BLACK);
++    g.setStroke(new BasicStroke(20, BasicStroke.CAP_BUTT,
++                                BasicStroke.JOIN_MITER));
++    g.draw(new Polygon(new int[] {0, 150, 0}, new int[] {75, 0, -75}, 3));
++    if (image.getRGB(16, 10) == Color.WHITE.getRGB()) {
++      throw new RuntimeException("Miter is not rendered.");
++    }
++  }
++}
+