You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2015/09/23 19:21:01 UTC

svn commit: r1704904 - /pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamPane.java

Author: tilman
Date: Wed Sep 23 17:21:00 2015
New Revision: 1704904

URL: http://svn.apache.org/viewvc?rev=1704904&view=rev
Log:
PDFBOX-2941: avoid NPE if filter not installed

Modified:
    pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamPane.java

Modified: pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamPane.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamPane.java?rev=1704904&r1=1704903&r2=1704904&view=diff
==============================================================================
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamPane.java (original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamPane.java Wed Sep 23 17:21:00 2015
@@ -34,6 +34,7 @@ import javax.imageio.ImageIO;
 import javax.swing.BoxLayout;
 import javax.swing.JComboBox;
 import javax.swing.JComponent;
+import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JTabbedPane;
 import javax.swing.SwingWorker;
@@ -201,6 +202,11 @@ public class StreamPane implements Actio
             {
                 image = stream.getImage(resources);
             }
+            if (image == null)
+            {
+                JOptionPane.showMessageDialog(panel, "image not available (filter missing?)");
+                return;
+            }
             view.showStreamImage(image);
 
             ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -217,7 +223,13 @@ public class StreamPane implements Actio
         new DocumentCreator(command).execute();
         synchronized (stream)
         {
-            hexView.changeData(IOUtils.toByteArray(stream.getStream(command)));
+            InputStream is = stream.getStream(command);
+            if (is == null)
+            {
+                JOptionPane.showMessageDialog(panel, command + " text not available (filter missing?)");
+                return;
+            }
+            hexView.changeData(IOUtils.toByteArray(is));
         }
     }