ICEpdf
  1. ICEpdf
  2. PDF-757

NullPointerException - Annotation.renderAppearanceStream()

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.6_P01
    • Fix Version/s: 5.0.7
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      All

      Description

      When rendering the provided PDF the following NPE is thrown multiple times:

      Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
      at org.icepdf.core.pobjects.annotations.Annotation.renderAppearanceStream(Annotation.java:1231)
      at org.icepdf.core.pobjects.annotations.WidgetAnnotation.renderAppearanceStream(WidgetAnnotation.java:124)
      at org.icepdf.core.pobjects.annotations.Annotation.render(Annotation.java:1198)
      at org.icepdf.ri.common.views.PageViewComponentImpl.paintAnnotations(PageViewComponentImpl.java:477)
      at org.icepdf.ri.common.views.PageViewComponentImpl.paintComponent(PageViewComponentImpl.java:419)
      at javax.swing.JComponent.paint(JComponent.java:1054)
      at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
      at javax.swing.JComponent.paintChildren(JComponent.java:887)
      at javax.swing.JComponent.paint(JComponent.java:1063)
      at org.icepdf.ri.common.views.PageViewDecorator.paint(PageViewDecorator.java:140)
      at javax.swing.JComponent.paintChildren(JComponent.java:887)
      at javax.swing.JComponent.paint(JComponent.java:1063)
      at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
      at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1529)
      at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1452)
      at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
      at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
      at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
      at javax.swing.RepaintManager$3.run(RepaintManager.java:808)
      at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
      at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
      at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
      at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
      at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
      at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
      at java.awt.EventQueue.access$200(EventQueue.java:103)
      at java.awt.EventQueue$3.run(EventQueue.java:694)
      at java.awt.EventQueue$3.run(EventQueue.java:692)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

        Activity

        Patrick Corless made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Patrick Corless made changes -
        Fix Version/s 5.0.7 [ 11470 ]
        Fix Version/s 5.1 [ 10675 ]
        Patrick Corless made changes -
        Fix Version/s 5.0.7 [ 11470 ]
        Patrick Corless made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Patrick Corless added a comment -

        Marking as fixed.

        Show
        Patrick Corless added a comment - Marking as fixed.
        Hide
        Patrick Corless added a comment -

        The annotations are missing a required BBox entry which defines the bounds. The annotation does contain the 'rect' entry which seems can be used if the bbox is null. Once correct the PDF renders correctly.

        Show
        Patrick Corless added a comment - The annotations are missing a required BBox entry which defines the bounds. The annotation does contain the 'rect' entry which seems can be used if the bbox is null. Once correct the PDF renders correctly.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #41150 Tue May 13 09:09:56 MDT 2014 patrick.corless PDF-757 addressed corner case if bbox is null and rect is valid.
        Files Changed
        Commit graph MODIFY /icepdf/branches/icepdf-5.0.1/icepdf/core/src/org/icepdf/core/pobjects/annotations/Annotation.java
        Patrick Corless made changes -
        Field Original Value New Value
        Fix Version/s 5.0.7 [ 11470 ]
        Fix Version/s 5.1 [ 10675 ]
        Arran Mccullough created issue -

          People

          • Assignee:
            Patrick Corless
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: