Community
Participate
Working Groups
In TreeViewer.updateChildren, there is the following code: if (newElement.equals(oldElement)) { // update the data to be the new element, since although the elements // may be equal, they may still have different labels or children item.setData(newElement); mapElement(newElement, item); } else { ... } If newElement == oldElement, this need not be done. The new code should be: if (newElement == oldElement) { // don't need to update data or map when elements are identical } else if (newElement.equals(oldElement)) { // update the data to be the new element, since although the elements // may be equal, they may still have different labels or children item.setData(newElement); mapElement(newElement, item); } else { ... } The same change should be made to TableViewer's refresh. NOTES:
PRODUCT VERSION: 128
AbstractTreeViewer.updateChildren has had this check in since 2.0.