This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Occasionally, a rescan as a result of a document edit causes a node the user has collapsed to re-expand. I'm not sure why, since I've made sure my code is not calling setSelectedNodes or expandNode when this is occurring. I've noticed it only happens with categories which have previously been opened. I inserted trace statements in the treetable code too, but didn't get any hits, so next I need to investigate JTree.
This looks like a problem in the TreeTable - it has the following tree-model-listener which is responsible for the call which expands the wrong nodes: protected TreeModelListener createTreeModelListener() { return new JTree.TreeModelHandler() { public void treeNodesRemoved(TreeModelEvent e) { tree.setSelectionPath (TreeView.findSiblingTreePath (e.getTreePath (), e.getChildIndices ())); } }; } java.lang.Exception: Stack trace at java.lang.Thread.dumpStack(Thread.java:1071) at javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:162) at javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(BasicTreeUI.java:1494) at javax.swing.plaf.basic.BasicTreeUI$TreeExpansionHandler.treeExpanded(BasicTreeUI.java:2314) at javax.swing.JTree.fireTreeExpanded(JTree.java:2242) at javax.swing.JTree.setExpandedState(JTree.java:3013) at javax.swing.JTree.expandPath(JTree.java:1748) at javax.swing.JTree.makeVisible(JTree.java:1607) at javax.swing.plaf.basic.BasicTreeUI$TreeSelectionHandler.valueChanged(BasicTreeUI.java:2521) at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:629) at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1076) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:287) at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeSelectionModel.java:170) at javax.swing.JTree.setSelectionPath(JTree.java:1181) at org.openide.explorer.view.TreeTable$1.treeNodesRemoved(TreeTable.java:426) at javax.swing.tree.DefaultTreeModel.fireTreeNodesRemoved(DefaultTreeModel.java:530) at javax.swing.tree.DefaultTreeModel.nodesWereRemoved(DefaultTreeModel.java:308) at org.openide.explorer.view.NodeTreeModel$Listener.removed(NodeTreeModel.java:142) at org.openide.explorer.view.VisualizerChildren.removed(VisualizerChildren.java:105) at org.openide.explorer.view.VisualizerEvent$Removed.run(VisualizerEvent.java:111) at org.openide.explorer.view.VisualizerNode$QP.run(VisualizerNode.java:436) at org.openide.util.Mutex.doEvent(Mutex.java:894) at org.openide.util.Mutex.writeAccess(Mutex.java:317) at org.openide.explorer.view.VisualizerNode$QP.runSafe(VisualizerNode.java:420) at org.openide.explorer.view.VisualizerNode.childrenRemoved(VisualizerNode.java:239) at org.openide.util.WeakListener$Node.childrenRemoved(WeakListener.java:792) at org.openide.nodes.Node.fireSubNodesChange(Node.java:787) at org.openide.nodes.Children.notifyRemove(Children.java:665) at org.openide.nodes.Children$Keys.notifyRemove(Children.java:1859) at org.openide.nodes.Children.updateRemove(Children.java:634) at org.openide.nodes.Children.setEntries(Children.java:588) at org.openide.nodes.Children$3.run(Children.java:1800) at org.openide.util.Mutex.postRequest(Mutex.java:857) at org.openide.util.Mutex.postWriteRequest(Mutex.java:363) at org.openide.nodes.Children$Keys.applyKeys(Children.java:1808) at org.openide.nodes.Children$Keys.setKeys(Children.java:1767) at org.netbeans.modules.tasklist.core.TaskChildren.refreshKeys(TaskChildren.java:54) at org.netbeans.modules.tasklist.core.TaskChildren.propertyChange(TaskChildren.java:89) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:252) at org.netbeans.modules.tasklist.core.Task.updatedStructure(Task.java:125) at org.netbeans.modules.tasklist.core.Task.removeSubtask(Task.java:416) at org.netbeans.modules.tasklist.core.TaskList.remove(TaskList.java:187) at org.netbeans.modules.tasklist.core.TaskList.addRemove(TaskList.java:115) at org.netbeans.modules.tasklist.suggestions.SuggestionManagerImpl.register(SuggestionManagerImpl.java:1143) at org.netbeans.modules.tasklist.suggestions.SuggestionManagerImpl.register(SuggestionManagerImpl.java:1077) at org.netbeans.modules.tasklist.javaparser.ErrorSuggester.update(ErrorSuggester.java:131) at org.netbeans.modules.tasklist.javaparser.ErrorSuggester.errorsChanged(ErrorSuggester.java:892) at org.netbeans.modules.java.JavaEditor.notifyErrorsChanged(JavaEditor.java:238) at org.netbeans.modules.java.JavaEditor.detachAnnotations(JavaEditor.java:511) at org.netbeans.modules.java.JavaEditor.processAnnotations(JavaEditor.java:487) at org.netbeans.modules.java.JavaEditor.access$400(JavaEditor.java:80) at org.netbeans.modules.java.JavaEditor$2.run(JavaEditor.java:273) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
*** This issue has been marked as a duplicate of 29855 ***
verified duplicate