[8] Review request for 7153339: InternalError when drawLine with Xor and Antialiasing (original) (raw)

Jim Graham james.graham at oracle.com
Thu Aug 23 17:04:12 PDT 2012


Hi Oleg,

getReplacement should not be returning an invalid surface. If the current D3DSD is invalid, then it should return a valid replacement. The only time it should return null is when the window is gone. It sounds like the window isn't gone here, it has just switched over to a non-D3D type of SurfaceData and return that...

        ...jim

On 8/23/2012 4:37 PM, Oleg Pekhovskiy wrote:

Hi Phil, Jim,

thank you for pointing out the testing work that should be performed. I tested my fix with the following regression tests: test/java/awt/Graphics test/java/awt/Graphics2D test/java/awt/GraphicsDevice test/java/awt/GraphicsEnvironment test/sun/java2d Plus I tested performance differences on: demo/jfc/Java2D/Java2Demo.jar Testing was done on Windows 7 & Ubuntu 12.04 LTS. No differences were found. I also asked Yuri Nesterenko to test all that stuff on Mac. Thanks, Oleg

11.08.2012 3:10, Phil Race wrote: Oleg, This looks OK to me but since this is a shared code change I have to ask what testing you've done ?

Also why not provide a regression test ? The provided test was interactive but I think it can be automated. You need another review and I'd like Jim to take a look. -phil. On 8/10/2012 2:26 PM, Oleg Pekhovskiy wrote: Hi,

Please review the fix for CR: http://bugs.sun.com/bugdatabase/viewbug.do?bugid=7153339 Webrev: http://cr.openjdk.java.net/~bagiras/8/7153339.1/ Comments: XOR is not supported for D3D (see comments inside D3DSurfaceData.validatePipe()) and software rendering is used invalidating current D3DSurfaceData. So we have situation when component's peer has invalid SurfaceData and it's retrieved in SunGraphics2D.revalidateAll() through SurfaceData.getReplacement() without any check. That's why I added validity check there. Thanks, Oleg <http://cr.openjdk.java.net/%7Ebagiras/8/7153339.1/>



More information about the awt-dev mailing list