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.

Bug 29724

Summary: [TTV] Category nodes reexpand when they feel like it
Product: platform Reporter: Torbjorn Norbye <tor>
Component: Outline&TreeTableAssignee: Stanislav Aubrecht <saubrecht>
Status: VERIFIED DUPLICATE    
Severity: blocker    
Priority: P3    
Version: 3.x   
Hardware: Sun   
OS: All   
Issue Type: DEFECT Exception Reporter:

Description Torbjorn Norbye 2002-12-25 23:56:07 UTC
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.
Comment 1 Torbjorn Norbye 2003-01-06 03:13:50 UTC
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)
Comment 2 Stanislav Aubrecht 2005-10-04 10:32:13 UTC

*** This issue has been marked as a duplicate of 29855 ***
Comment 3 Marian Mirilovic 2006-01-17 12:37:51 UTC
verified duplicate