Author: tilman
Date: Sun May 10 14:14:40 2026
New Revision: 1934053

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

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

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

Modified: 
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamPane.java
==============================================================================
--- 
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamPane.java
    Sun May 10 14:14:37 2026        (r1934052)
+++ 
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamPane.java
    Sun May 10 14:14:40 2026        (r1934053)
@@ -144,6 +144,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));
@@ -155,7 +165,6 @@ public class StreamPane implements Actio
             requestStreamText(Stream.DECODED);
         }
 
-        tabbedPane = new JTabbedPane();
         if (stream.isImage())
         {
             tabbedPane.add("Image view", rawView.getStreamPanel());

Reply via email to