Ticket #24667: patch_24667.txt

File patch_24667.txt, 1.6 KB (added by DanProgs <Abenteurer.2901@…>, 4 days ago)
Line 
1### Eclipse Workspace Patch 1.0
2#P JMapViewer
3Index: src/org/openstreetmap/gui/jmapviewer/checkBoxTree/CheckBoxNodeEditor.java
4===================================================================
5--- src/org/openstreetmap/gui/jmapviewer/checkBoxTree/CheckBoxNodeEditor.java (revision 36494)
6+++ src/org/openstreetmap/gui/jmapviewer/checkBoxTree/CheckBoxNodeEditor.java (working copy)
7@@ -25,6 +25,9 @@
8 private final CheckBoxNodeRenderer renderer = new CheckBoxNodeRenderer();
9
10 private final CheckBoxTree theTree;
11+
12+ // Use the listener field to allow for targeted removal later.
13+ private final ItemListener stopEditingListener = e -> stopCellEditing();
14
15 public CheckBoxNodeEditor(final CheckBoxTree tree) {
16 theTree = tree;
17@@ -82,6 +85,7 @@
18 renderer.getTreeCellRendererComponent(tree, value, true, expanded, leaf,
19 row, true);
20
21+ /*
22 // editor always selected / focused
23 final ItemListener itemListener = itemEvent -> {
24 if (stopCellEditing()) {
25@@ -88,9 +92,12 @@
26 fireEditingStopped();
27 }
28 };
29+ */
30 if (editor instanceof CheckBoxNodePanel) {
31 final CheckBoxNodePanel panel = (CheckBoxNodePanel) editor;
32- panel.check.addItemListener(itemListener);
33+ // Remove the old listener before adding a new one (or the same one) to prevent multiple calls.
34+ panel.check.removeItemListener(stopEditingListener);
35+ panel.check.addItemListener(stopEditingListener);
36 }
37
38 return editor;