From 969b3fdc9ccaa00d0ddda45f57c9b3ff6843b288 Mon Sep 17 00:00:00 2001 From: Phil Race Date: Tue, 12 May 2026 18:16:26 +0000 Subject: [PATCH] 8373065: Test sun/awt/image/bug8038000.java failed: Pixels differ Reviewed-by: jdv, azvegint --- .../share/native/common/awt/medialib/mlib_ImageCreate.c | 3 +++ .../share/native/libawt/awt/medialib/awt_ImagingLib.c | 8 +++++--- test/jdk/ProblemList.txt | 1 - test/jdk/sun/awt/image/bug8038000.java | 4 ++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/java.desktop/share/native/common/awt/medialib/mlib_ImageCreate.c b/src/java.desktop/share/native/common/awt/medialib/mlib_ImageCreate.c index 6bb9b36e494..830e86a2a51 100644 --- a/src/java.desktop/share/native/common/awt/medialib/mlib_ImageCreate.c +++ b/src/java.desktop/share/native/common/awt/medialib/mlib_ImageCreate.c @@ -116,6 +116,7 @@ * mlib_ImageSetFormat() sets new value for the image format */ +#include #include #include "mlib_image.h" #include "mlib_ImageRowTable.h" @@ -313,10 +314,12 @@ mlib_image* mlib_ImageCreate(mlib_type type, return NULL; } + data = mlib_malloc(wb * height); if (data == NULL) { return NULL; } + memset(data, 0, wb * height); image = (mlib_image *)mlib_malloc(sizeof(mlib_image)); if (image == NULL) { diff --git a/src/java.desktop/share/native/libawt/awt/medialib/awt_ImagingLib.c b/src/java.desktop/share/native/libawt/awt/medialib/awt_ImagingLib.c index ae86b309465..bb93108f111 100644 --- a/src/java.desktop/share/native/libawt/awt/medialib/awt_ImagingLib.c +++ b/src/java.desktop/share/native/libawt/awt/medialib/awt_ImagingLib.c @@ -1133,12 +1133,14 @@ fprintf(stderr,"Flags : %d\n",dst->flags); { unsigned char *cP = (unsigned char *)mlib_ImageGetData(dst); - memset(cP, 0, mlib_ImageGetWidth(dst)*mlib_ImageGetHeight(dst)); + if (ddata == NULL) { // zero medialib allocated memory + memset(cP, 0, mlib_ImageGetWidth(dst) * mlib_ImageGetHeight(dst) * mlib_ImageGetChannels(dst)); + } } /* Perform the transformation */ - if ((status = (*sMlibFns[MLIB_AFFINE].fptr)(dst, src, mtx, filter, - MLIB_EDGE_SRC_EXTEND) != MLIB_SUCCESS)) + status = (*sMlibFns[MLIB_AFFINE].fptr)(dst, src, mtx, filter, MLIB_EDGE_SRC_EXTEND); + if (status != MLIB_SUCCESS) { printMedialibError(status); /* REMIND: Free the regions */ diff --git a/test/jdk/ProblemList.txt b/test/jdk/ProblemList.txt index 42999f9e167..3e1437f01f5 100644 --- a/test/jdk/ProblemList.txt +++ b/test/jdk/ProblemList.txt @@ -377,7 +377,6 @@ java/awt/GraphicsDevice/DisplayModes/UnknownRefrshRateTest.java 8286436 macosx-a java/awt/image/multiresolution/MultiresolutionIconTest.java 8291979 linux-x64,windows-all java/awt/event/SequencedEvent/MultipleContextsFunctionalTest.java 8305061 macosx-x64 sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java 8301177 linux-x64 -sun/awt/image/bug8038000.java 8373065 generic-all # Several tests which fail on some hidpi systems/macosx12-aarch64 system java/awt/Window/8159168/SetShapeTest.java 8274106 macosx-aarch64 diff --git a/test/jdk/sun/awt/image/bug8038000.java b/test/jdk/sun/awt/image/bug8038000.java index 20affe806c2..5a51881b700 100644 --- a/test/jdk/sun/awt/image/bug8038000.java +++ b/test/jdk/sun/awt/image/bug8038000.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2026, Oracle and/or its affiliates. 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 @@ -23,7 +23,7 @@ /** * @test - * @bug 8038000 8047066 + * @bug 8038000 8047066 8373065 * * @summary Verifies that we could create different type of Rasters with height 1 * and strideline which exceeds raster width.