Community
Participate
Working Groups
See the dependent PR for details on how to see this. Basically, I remove some model elements from the TreeViewer's underlying model, and call refresh() on the tree viewer. As a result, the tree expansion is wrong. Consider: -A -b b1 +c -d d1 +e I remove b and b1 from the tree as the result of a commit. After a refresh(), I would expect the expansion to be: -A +c -d d1 +e but instead it is: -A -c c1 +d -e e1 It looks like expansion state is remembered by index, rather than by underlying object. If I'm doing something wrong, please tell me.
A longstanding viewer problem which I'd dearly love to fix. To do so properly requires moving to a diff-based update algorithm. As a workaround, use remove and add rather than refresh if you can. *** This bug has been marked as a duplicate of 5771 ***