Author: tilman
Date: Sun May 10 14:14:44 2026
New Revision: 1934054

Log:
PDFBOX-5660: refactor, avoid leaking this in constructor

Modified:
   
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
   
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamPane.java

Modified: 
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
==============================================================================
--- 
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
      Sun May 10 14:14:40 2026        (r1934053)
+++ 
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
      Sun May 10 14:14:44 2026        (r1934054)
@@ -1101,6 +1101,7 @@ public class PDFDebugger extends JFrame
             resourcesDic = (COSDictionary) getUnderneathObject(resourcesObj);
         }
         StreamPane streamPane = new StreamPane(stream, isContentStream, 
isThumb, resourcesDic);
+        streamPane.init();
         replaceRightComponent(streamPane.getPanel());
     }
 

Modified: 
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamPane.java
==============================================================================
--- 
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamPane.java
    Sun May 10 14:14:40 2026        (r1934053)
+++ 
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamPane.java
    Sun May 10 14:14:44 2026        (r1934054)
@@ -167,6 +167,16 @@ public class StreamPane implements Actio
             niceView = null;
         }
 
+        tabbedPane = new JTabbedPane();
+    }
+
+    /**
+     * Initialization, to be called immediately after construction.
+     *
+     * @throws IOException if there is an I/O error during internal data 
transfer.
+     */
+    public void init() throws IOException
+    {
         if (stream.isImage())
         {
             panel.add(createHeaderPanel(stream.getFilterList(), Stream.IMAGE, 
this));
@@ -178,7 +188,6 @@ public class StreamPane implements Actio
             requestStreamText(Stream.UNFILTERED);
         }
 
-        tabbedPane = new JTabbedPane();
         if (stream.isImage())
         {
             tabbedPane.add("Image view", rawView.getStreamPanel());

Reply via email to