You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by ni...@apache.org on 2006/10/12 13:26:05 UTC

svn commit: r463202 - in /jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf: HSLFSlideShow.java usermodel/PictureData.java

Author: nick
Date: Thu Oct 12 04:26:05 2006
New Revision: 463202

URL: http://svn.apache.org/viewvc?view=rev&rev=463202
Log:
If we hit an unknown picture type, don't break completely - report an error but carry on without the picture

Modified:
    jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/HSLFSlideShow.java
    jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/PictureData.java

Modified: jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/HSLFSlideShow.java
URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/HSLFSlideShow.java?view=diff&rev=463202&r1=463201&r2=463202
==============================================================================
--- jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/HSLFSlideShow.java (original)
+++ jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/HSLFSlideShow.java Thu Oct 12 04:26:05 2006
@@ -271,10 +271,15 @@
             byte[] imgdata = new byte[imgsize];
             System.arraycopy(pictstream, pos, imgdata, 0, imgdata.length);
 
-            PictureData pict = PictureData.create(type - 0xF018);
-            pict.setRawData(imgdata);
-            pict.setOffset(offset);
-            p.add(pict);
+            try {
+            	PictureData pict = PictureData.create(type - 0xF018);
+            	pict.setRawData(imgdata);
+            	pict.setOffset(offset);
+            	p.add(pict);
+            } catch(IllegalArgumentException e) {
+            	System.err.println("Problem reading picture: " + e + "\nYou document will probably become corrupted if you save it!");
+            }
+            
             pos += imgsize;
         }
 

Modified: jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/PictureData.java
URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/PictureData.java?view=diff&rev=463202&r1=463201&r2=463202
==============================================================================
--- jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/PictureData.java (original)
+++ jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/PictureData.java Thu Oct 12 04:26:05 2006
@@ -175,7 +175,7 @@
                 pict = new PNG();
                 break;
             default:
-                throw new RuntimeException("Unsupported picture type: " + type);
+                throw new IllegalArgumentException("Unsupported picture type: " + type);
         }
         return pict;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: poi-dev-unsubscribe@jakarta.apache.org
Mailing List:    http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta POI Project: http://jakarta.apache.org/poi/