You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by mb...@apache.org on 2023/11/26 23:08:16 UTC

(netbeans) branch master updated: Attempt to fix navigator popup menu race.

This is an automated email from the ASF dual-hosted git repository.

mbien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new 794967a845 Attempt to fix navigator popup menu race.
     new 14983fe867 Merge pull request #6727 from mbien/fix-popup-menu-race
794967a845 is described below

commit 794967a845a0c827952502b14107a715f42b73bf
Author: Michael Bien <mb...@gmail.com>
AuthorDate: Sun Nov 19 18:02:43 2023 +0100

    Attempt to fix navigator popup menu race.
    
    "Find Usages" and "Refactor" were occasionally disabled when switching
    between selections with right click.
---
 .../java/navigation/ClassMemberPanelUI.java        | 25 ++++++++++------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/java/java.navigation/src/org/netbeans/modules/java/navigation/ClassMemberPanelUI.java b/java/java.navigation/src/org/netbeans/modules/java/navigation/ClassMemberPanelUI.java
index f84a5986ce..193ab2660d 100644
--- a/java/java.navigation/src/org/netbeans/modules/java/navigation/ClassMemberPanelUI.java
+++ b/java/java.navigation/src/org/netbeans/modules/java/navigation/ClassMemberPanelUI.java
@@ -785,21 +785,18 @@ public class ClassMemberPanelUI extends javax.swing.JPanel
     @Override
     public void propertyChange(final PropertyChangeEvent evt) {
         if (ExplorerManager.PROP_SELECTED_NODES.equals(evt.getPropertyName())) {
+            final Node[] oldNodes = (Node[]) evt.getOldValue();
+            final Node[] newNodes = (Node[]) evt.getNewValue();
+            for (Node n : oldNodes) {
+                selectedNodes.remove(n);
+            }
+            for (Node n : newNodes) {
+                selectedNodes.add(n);
+            }
             final boolean javadocDone = ignoreJavaDoc.get() == Boolean.TRUE;
-            RP.execute(new Runnable() {
-                @Override
-                public void run() {
-                    final Node[] oldNodes = (Node[]) evt.getOldValue();
-                    final Node[] newNodes = (Node[]) evt.getNewValue();
-                    for (Node n : oldNodes) {
-                        selectedNodes.remove(n);
-                    }
-                    for (Node n : newNodes) {
-                        selectedNodes.add(n);
-                    }
-                    if (newNodes.length > 0 && !javadocDone && JavadocTopComponent.shouldUpdate()) {
-                        scheduleJavadocRefresh(JDOC_TIME);
-                    }
+            RP.execute(() -> {
+                if (newNodes.length > 0 && !javadocDone && JavadocTopComponent.shouldUpdate()) {
+                    scheduleJavadocRefresh(JDOC_TIME);
                 }
             });
         } else if (TapPanel.EXPANDED_PROPERTY.equals(evt.getPropertyName())) {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists