From: PJ Fanning Date: Fri, 13 Jan 2023 12:08:02 +0000 (+0000) Subject: byte-buddy 1.12.22 X-Git-Tag: REL_5_2_4~288 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a00cc9ff2bbe1ecf30563a75fcccdbc7716a58c6;p=poi.git byte-buddy 1.12.22 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1906653 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/build.xml b/build.xml index 0b59e2a519..f7f668ec0d 100644 --- a/build.xml +++ b/build.xml @@ -285,8 +285,8 @@ under the License. - - + + diff --git a/poi-ooxml-lite-agent/build.gradle b/poi-ooxml-lite-agent/build.gradle index 8e06f5a98f..7393144e92 100644 --- a/poi-ooxml-lite-agent/build.gradle +++ b/poi-ooxml-lite-agent/build.gradle @@ -22,8 +22,8 @@ sourceSets { } dependencies { - api 'net.bytebuddy:byte-buddy:1.12.21' - api 'net.bytebuddy:byte-buddy-agent:1.12.21' + api 'net.bytebuddy:byte-buddy:1.12.22' + api 'net.bytebuddy:byte-buddy-agent:1.12.22' api "org.apache.xmlbeans:xmlbeans:${xmlbeansVersion}" } diff --git a/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPicture.java b/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPicture.java index dc5d2bf09d..fdca695437 100644 --- a/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPicture.java +++ b/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPicture.java @@ -23,13 +23,19 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertSame; import java.io.IOException; +import java.io.InputStream; import java.util.List; +import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream; +import org.apache.poi.POIDataSamples; import org.apache.poi.openxml4j.opc.ZipPackage; import org.apache.poi.ss.usermodel.BaseTestPicture; +import org.apache.poi.ss.usermodel.ClientAnchor; import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType; +import org.apache.poi.ss.usermodel.CreationHelper; import org.apache.poi.ss.usermodel.Drawing; import org.apache.poi.ss.usermodel.Picture; +import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.util.LocaleUtil; import org.apache.poi.xssf.XSSFITestDataProvider; import org.apache.poi.xssf.XSSFTestDataSamples; @@ -123,6 +129,46 @@ public final class TestXSSFPicture extends BaseTestPicture { multiRelationships(true, true); } + @Test + void resizeWhenAnchorPositionIsZeroed() throws IOException { + try ( + XSSFWorkbook workbook = new XSSFWorkbook(); + UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream() + ) { + XSSFSheet sheet = workbook.createSheet(); + CreationHelper helper = workbook.getCreationHelper(); + Drawing drawing = sheet.createDrawingPatriarch(); + + ClientAnchor anchor = helper.createClientAnchor(); + + final int pictureIndex; + try (InputStream stream = POIDataSamples.getOpenXML4JInstance() + .openResourceAsStream("thumbnail.jpg")) { + pictureIndex = workbook.addPicture(stream, Workbook.PICTURE_TYPE_JPEG); + } + final XSSFPicture pict = (XSSFPicture) drawing.createPicture( anchor, pictureIndex ); + + assertEquals(0, anchor.getCol1()); + assertEquals(0, anchor.getCol2()); + assertEquals(0, anchor.getRow1()); + assertEquals(0, anchor.getRow2()); + + pict.resize(); + pict.resize(0.1,0.1); + + assertEquals(0, anchor.getCol1()); + assertEquals(0, anchor.getCol2()); + assertEquals(0, anchor.getRow1()); + assertEquals(0, anchor.getRow2()); + + workbook.write(bos); + + try (XSSFWorkbook wb2 = new XSSFWorkbook(bos.toInputStream())) { + wb2.getAllPictures(); + } + } + } + private void multiRelationships(boolean tempFileParts, boolean encrypt) throws IOException { final boolean originalTempFileSetting = ZipPackage.useTempFilePackageParts(); final boolean originalEncryptSetting = ZipPackage.encryptTempFilePackageParts();