From e53e3a376e2ef40140ff80ba00c1af14f2acc84d Mon Sep 17 00:00:00 2001 From: Maxim Valyanskiy Date: Tue, 6 Apr 2010 12:12:03 +0000 Subject: [PATCH] bugfix: ClassCastException it PicturesTable.getAllPictures(): UnknownEscherRecord cannot be cast to EscherBlipRecord git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@931111 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/org/apache/poi/hwpf/model/PicturesTable.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/PicturesTable.java b/src/scratchpad/src/org/apache/poi/hwpf/model/PicturesTable.java index 8e8bf701ce..64046eadcb 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/PicturesTable.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/PicturesTable.java @@ -168,9 +168,13 @@ public final class PicturesTable { // Blip stored in delay stream, which in a word doc, is the main stream EscherRecordFactory recordFactory = new DefaultEscherRecordFactory(); - blip = (EscherBlipRecord) recordFactory.createRecord(_mainStream, bse.getOffset()); - blip.fillFields(_mainStream, bse.getOffset(), recordFactory); - pictures.add(new Picture(blip.getPicturedata())); + EscherRecord record = recordFactory.createRecord(_mainStream, bse.getOffset()); + + if (record instanceof EscherBlipRecord) { + record.fillFields(_mainStream, bse.getOffset(), recordFactory); + blip = (EscherBlipRecord) record; + pictures.add(new Picture(blip.getPicturedata())); + } } } -- 2.39.5