Author: tilman
Date: Sun May 10 14:14:37 2026
New Revision: 1934052
Log:
PDFBOX-5660: refactor, avoid leaking this in constructor
Modified:
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamPane.java
Modified:
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
==============================================================================
---
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
Sun May 10 13:34:03 2026 (r1934051)
+++
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
Sun May 10 14:14:37 2026 (r1934052)
@@ -1137,6 +1137,7 @@ public class PDFDebugger extends JFrame
}
}
StreamPane streamPane = new StreamPane(stream, isContentStream,
isThumb, resourcesDic);
+ streamPane.init();
replaceRightComponent(streamPane.getPanel());
}
Modified:
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamPane.java
==============================================================================
---
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamPane.java
Sun May 10 13:34:03 2026 (r1934051)
+++
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamPane.java
Sun May 10 14:14:37 2026 (r1934052)
@@ -143,6 +143,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));
@@ -154,7 +164,6 @@ public class StreamPane implements Actio
requestStreamText(Stream.DECODED);
}
- tabbedPane = new JTabbedPane();
if (stream.isImage())
{
tabbedPane.add("Image view", rawView.getStreamPanel());