Mercurial > hg > release > icedtea6-1.13
view patches/openjdk/7150134-pr2662-xrender_drawline_oom.patch @ 3229:ae390d52ddeb
Add backports destined for the next update, 1.13.9.
S6440786, PR363: Cannot create a ZIP file containing zero entries
S6599383, PR363: Unable to open zip files more than 2GB in size
S6929479, PR363: Add a system property sun.zip.disableMemoryMapping to disable mmap use in ZipFile
S7105461, PR2662: Large JTables are not rendered correctly with Xrender pipeline
S7150134, PR2662: JCK api/java_awt/Graphics/index.html#DrawLine fails with OOM for jdk8 with XRender pipeline
PR2513: Reset success following calls in LayoutManager.cpp
2015-10-12 Andrew John Hughes <gnu.andrew@redhat.com>
* Makefile.am:
(ICEDTEA_PATCHES): Add new patches.
* NEWS: Updated.
* patches/openjdk/6440786-pr363-zero_entry_zips.patch,
* patches/openjdk/6599383-pr363-large_zip_files.patch,
* patches/openjdk/6929479-pr363-disable_mmap_zip.patch,
* patches/openjdk/7105461-pr2662-xrender_jtables.patch,
* patches/openjdk/7150134-pr2662-xrender_drawline_oom.patch,
* patches/pr2513-layoutengine_reset.patch:
New backports for issues to be fixed in 1.13.9.
author | Andrew John Hughes <gnu.andrew@redhat.com> |
---|---|
date | Tue, 27 Oct 2015 18:34:34 +0000 |
parents | |
children |
line wrap: on
line source
# HG changeset patch # User ceisserer # Date 1334011773 25200 # Mon Apr 09 15:49:33 2012 -0700 # Node ID b0194003cf27684b07bbcfdb94d5a7f9594f5978 # Parent 32f25e4cc4aa55ed72c9d2d92cdc54d085a0b851 7150134, PR2662: JCK api/java_awt/Graphics/index.html#DrawLine fails with OOM for jdk8 with XRender pipeline Reviewed-by: prr diff -r 32f25e4cc4aa -r b0194003cf27 src/solaris/classes/sun/java2d/xr/XRRenderer.java --- openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRRenderer.java Sat Oct 03 19:28:14 2015 +0100 +++ openjdk/jdk/src/solaris/classes/sun/java2d/xr/XRRenderer.java Mon Apr 09 15:49:33 2012 -0700 @@ -69,20 +69,26 @@ } public void drawLine(SunGraphics2D sg2d, int x1, int y1, int x2, int y2) { - try { - SunToolkit.awtLock(); + Region compClip = sg2d.getCompClip(); + int transX1 = x1 + sg2d.transX; + int transY1 = y1 + sg2d.transY; + int transX2 = x2 + sg2d.transX; + int transY2 = y2 + sg2d.transY; - validateSurface(sg2d); - int transx = sg2d.transX; - int transy = sg2d.transY; + // Non clipped fast path + if (compClip.contains(transX1, transY1) + && compClip.contains(transX2, transY2)) { + try { + SunToolkit.awtLock(); - XRSurfaceData xrsd = (XRSurfaceData) sg2d.surfaceData; - - tileManager.addLine(x1 + transx, y1 + transy, - x2 + transx, y2 + transy); - tileManager.fillMask(xrsd); - } finally { - SunToolkit.awtUnlock(); + validateSurface(sg2d); + tileManager.addLine(transX1, transY1, transX2, transY2); + tileManager.fillMask((XRSurfaceData) sg2d.surfaceData); + } finally { + SunToolkit.awtUnlock(); + } + } else { + draw(sg2d, new Line2D.Float(x1, y1, x2, y2)); } }