Author: tilman
Date: Sun May 10 09:10:44 2026
New Revision: 1934038
Log:
PDFBOX-5660: refactor, avoid leaking this in constructor
Modified:
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamTextView.java
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/textsearcher/Searcher.java
Modified:
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamTextView.java
==============================================================================
---
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamTextView.java
Sun May 10 09:01:53 2026 (r1934037)
+++
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/streampane/StreamTextView.java
Sun May 10 09:10:44 2026 (r1934038)
@@ -65,6 +65,7 @@ class StreamTextView implements MouseMot
textPane.addMouseMotionListener(this);
textPane.setFont(new Font("monospaced", Font.PLAIN, 13));
searcher = new Searcher(textPane);
+ searcher.init();
JScrollPane scrollPane = new JScrollPane(textPane);
Modified:
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/textsearcher/Searcher.java
==============================================================================
---
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/textsearcher/Searcher.java
Sun May 10 09:01:53 2026 (r1934037)
+++
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/textsearcher/Searcher.java
Sun May 10 09:10:44 2026 (r1934038)
@@ -52,7 +52,7 @@ public class Searcher implements Documen
private static final Highlighter.HighlightPainter SELECTION_PAINTER =
new DefaultHighlighter.DefaultHighlightPainter(new Color(109, 216,
26));
private final SearchEngine searchEngine;
- private final SearchPanel searchPanel;
+ private SearchPanel searchPanel;
private final JTextComponent textComponent;
private int totalMatch = 0;
private int currentMatch = -1;
@@ -97,13 +97,21 @@ public class Searcher implements Documen
public Searcher(JTextComponent textComponent)
{
this.textComponent = textComponent;
- searchPanel = new SearchPanel(this, this, this, nextAction,
previousAction);
searchEngine = new SearchEngine(textComponent, PAINTER);
nextAction.setEnabled(false);
previousAction.setEnabled(false);
}
+ /**
+ * Initialization, to be called immediately after construction.
+ */
+ public void init()
+ {
+ searchPanel = new SearchPanel(this, this, this, nextAction,
previousAction);
+ }
+
+
public JPanel getSearchPanel()
{
return searchPanel.getPanel();