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

Reply via email to