short diff in changes | local - do not remove listeners for the time of data update - some events were not sent

This commit is contained in:
irengrig
2011-12-07 19:19:52 +04:00
parent 89ffdaecbf
commit 4fed945897
@@ -144,25 +144,14 @@ public class ChangesListView extends Tree implements TypeSafeDataProvider, Advan
final DefaultTreeModel model = builder.buildModel(changeLists, unversionedFiles, locallyDeletedFiles, modifiedWithoutEditing,
switchedFiles, switchedRoots, ignoredFiles, lockedFolders, logicallyLockedFiles);
TreeSelectionListener[] listeners = getTreeSelectionListeners();
for (TreeSelectionListener listener : listeners) {
removeTreeSelectionListener(listener);
}
try {
storeState();
DefaultTreeModel oldModel = getModel();
setModel(model);
setCellRenderer(new ChangesBrowserNodeRenderer(myProject, isShowFlatten(), true));
ChangesBrowserNode root = (ChangesBrowserNode)model.getRoot();
expandPath(new TreePath(root.getPath()));
restoreState();
expandDefaultChangeList(oldModel, root);
} finally {
for (TreeSelectionListener listener : listeners) {
addTreeSelectionListener(listener);
}
}
storeState();
DefaultTreeModel oldModel = getModel();
setModel(model);
setCellRenderer(new ChangesBrowserNodeRenderer(myProject, isShowFlatten(), true));
ChangesBrowserNode root = (ChangesBrowserNode)model.getRoot();
expandPath(new TreePath(root.getPath()));
restoreState();
expandDefaultChangeList(oldModel, root);
}
private void expandDefaultChangeList(DefaultTreeModel oldModel, ChangesBrowserNode root) {