// return;
if (fCenterButton != null && !fCenterButton.isDisposed())
fCenterButton.setVisible(false);
Diff oldDiff = fCurrentDiff;
if (d != null && revealAndSelect) {
// before we set fCurrentDiff we change the selection
// so that the paint code uses the old background colors
// otherwise selection isn't drawn correctly
if (d.isToken() || !fHighlightTokenChanges || deep
|| !d.hasChildren()) {
if (isThreeWay() && !isIgnoreAncestor())
fAncestor.setSelection(d.getPosition(ANCESTOR_CONTRIBUTOR));
fLeft.setSelection(d.getPosition(LEFT_CONTRIBUTOR));
fRight.setSelection(d.getPosition(RIGHT_CONTRIBUTOR));
} else {
if (isThreeWay() && !isIgnoreAncestor())
fAncestor.setSelection(new Position(d
.getPosition(ANCESTOR_CONTRIBUTOR).offset, 0));
fLeft.setSelection(new Position(
d.getPosition(LEFT_CONTRIBUTOR).offset, 0));
fRight.setSelection(new Position(d
.getPosition(RIGHT_CONTRIBUTOR).offset, 0));
}
// now switch diffs
fCurrentDiff = d;
revealDiff(d, d.isToken());
} else {
fCurrentDiff = d;
}
Diff d1 = oldDiff != null ? oldDiff.getParent() : null;
Diff d2 = fCurrentDiff != null ? fCurrentDiff.getParent() : null;
if (d1 != d2) {
updateDiffBackground(d1);
updateDiffBackground(d2);
}