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());