From 6597619e3246855a09f5c7147038fca18045ce55 Mon Sep 17 00:00:00 2001 From: aivanov Date: Thu, 4 Aug 2016 18:37:15 +0300 Subject: [PATCH] 8147077: IllegalArgumentException thrown by api/java_awt/Component/FlipBufferStrategy/indexTGF_General 8148127: IllegalArgumentException thrown by JCK test api/java_awt/Component/FlipBufferStrategy/indexTGF_General in opengl pipeline Reviewed-by: flar, arapte --- src/solaris/classes/sun/awt/X11GraphicsConfig.java | 6 +++++- .../classes/sun/java2d/opengl/WGLGraphicsConfig.java | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/solaris/classes/sun/awt/X11GraphicsConfig.java b/src/solaris/classes/sun/awt/X11GraphicsConfig.java index 9055bf0e2..d1ddc22bc 100644 --- a/src/solaris/classes/sun/awt/X11GraphicsConfig.java +++ b/src/solaris/classes/sun/awt/X11GraphicsConfig.java @@ -435,8 +435,12 @@ public class X11GraphicsConfig extends GraphicsConfiguration public VolatileImage createBackBufferImage(Component target, long backBuffer) { + // it is possible for the component to have size 0x0, adjust it to + // be at least 1x1 to avoid IAE + int w = Math.max(1, target.getWidth()); + int h = Math.max(1, target.getHeight()); return new SunVolatileImage(target, - target.getWidth(), target.getHeight(), + w, h, Long.valueOf(backBuffer)); } diff --git a/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java b/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java index b0f04e337..c2bd2adb0 100644 --- a/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java +++ b/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java @@ -323,8 +323,12 @@ public class WGLGraphicsConfig @Override public VolatileImage createBackBuffer(WComponentPeer peer) { Component target = (Component)peer.getTarget(); + // it is possible for the component to have size 0x0, adjust it to + // be at least 1x1 to avoid IAE + int w = Math.max(1, target.getWidth()); + int h = Math.max(1, target.getHeight()); return new SunVolatileImage(target, - target.getWidth(), target.getHeight(), + w, h, Boolean.TRUE); } -- GitLab