You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2026/05/10 09:10:44 UTC
svn commit: r1934038 - in pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger: streampane ui/textsearcher
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();