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.

View | Details | Raw Unified | Return to bug 214438
Collapse All | Expand All

(-)a/openide.explorer/src/org/openide/explorer/view/VisualizerEvent.java (-2 / +4 lines)
Lines 158-165 Link Here
158
    }
158
    }
159
    
159
    
160
    static final class Destroyed extends VisualizerEvent implements Runnable {
160
    static final class Destroyed extends VisualizerEvent implements Runnable {
161
        public Destroyed(VisualizerChildren ch, NodeEvent ev) {
161
        private final VisualizerNode toNull;
162
        public Destroyed(VisualizerChildren ch, NodeEvent ev, VisualizerNode toNull) {
162
            super(ch, null, ev, null);
163
            super(ch, null, ev, null);
164
            this.toNull = toNull;
163
        }
165
        }
164
        
166
        
165
        @Override
167
        @Override
Lines 171-177 Link Here
171
                    v.nodeDestroyed(originalEvent);
173
                    v.nodeDestroyed(originalEvent);
172
                }
174
                }
173
            }
175
            }
174
            
176
            toNull.parent = null;
175
        }
177
        }
176
    }
178
    }
177
}
179
}
(-)a/openide.explorer/src/org/openide/explorer/view/VisualizerNode.java (-2 / +1 lines)
Lines 399-406 Link Here
399
    @Override
399
    @Override
400
    public void nodeDestroyed(NodeEvent ev) {
400
    public void nodeDestroyed(NodeEvent ev) {
401
        node = Node.EMPTY;
401
        node = Node.EMPTY;
402
        parent = null;
402
        QUEUE.runSafe(new VisualizerEvent.Destroyed(getChildren(false), ev, this));
403
        QUEUE.runSafe(new VisualizerEvent.Destroyed(getChildren(false), ev));
404
    }
403
    }
405
404
406
    /** Change in the node properties (icon, etc.)
405
    /** Change in the node properties (icon, etc.)
(-)a/openide.explorer/test/unit/src/org/openide/explorer/view/NodeTreeModelTest.java (-2 / +27 lines)
Lines 78-84 Link Here
78
        Keys keys = new Keys(true);
78
        Keys keys = new Keys(true);
79
        AbstractNode an = new AbstractNode(keys);
79
        AbstractNode an = new AbstractNode(keys);
80
80
81
        NodeTreeModel model = new NodeTreeModel();
81
        final NodeTreeModel model = new NodeTreeModel();
82
        model.setNode(an);
82
        model.setNode(an);
83
83
84
        assertEquals("Node set", Visualizer.findVisualizer(an), model.getRoot());
84
        assertEquals("Node set", Visualizer.findVisualizer(an), model.getRoot());
Lines 87-95 Link Here
87
        assertEquals("3 children", 3, model.getChildCount(model.getRoot()));
87
        assertEquals("3 children", 3, model.getChildCount(model.getRoot()));
88
        keys.keys("2", "1", "3");
88
        keys.keys("2", "1", "3");
89
        assertEquals("still 3 children", 3, model.getChildCount(model.getRoot()));
89
        assertEquals("still 3 children", 3, model.getChildCount(model.getRoot()));
90
        model.addTreeModelListener(new TreeModelListener() {
91
            @Override
92
            public void treeNodesChanged(TreeModelEvent e) {
93
            }
94
95
            @Override
96
            public void treeNodesInserted(TreeModelEvent e) {
97
            }
98
99
            @Override
100
            public void treeNodesRemoved(TreeModelEvent e) {
101
                for (Object ch : e.getChildren()) {
102
                    VisualizerNode vn = (VisualizerNode)ch;
103
                    assertNotNull("No null to begin with", vn);
104
                    while (vn != model.getRoot()) {
105
                        assertNotNull("Each removed node should be under the root: " + ch, vn);
106
                        vn = (VisualizerNode) vn.getParent();
107
                    }
108
                }
109
            }
110
111
            @Override
112
            public void treeStructureChanged(TreeModelEvent e) {
113
            }
114
        });
115
90
        keys.keys("2");
116
        keys.keys("2");
91
        assertEquals("1 children", 1, model.getChildCount(model.getRoot()));
117
        assertEquals("1 children", 1, model.getChildCount(model.getRoot()));
92
93
        assertEquals("No nodes created yet", 0, keys.cnt);
118
        assertEquals("No nodes created yet", 0, keys.cnt);
94
    }
119
    }
95
120

Return to bug 214438