SideBySide2: Focus on A for deleted files
When a file is deleted the B side does not exist.
Focus on the A side instead.
Change-Id: I14a72e3ca4e483ec1aff68d402d4dd86b0496497
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java
index 4f2fa10..c2c701f 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java
@@ -260,17 +260,22 @@
});
diffTable.sidePanel.adjustGutters(cmB);
- int line = 0;
- if (!diffChunks.isEmpty()) {
- DiffChunkInfo d = diffChunks.get(0);
- CodeMirror cm = getCmFromSide(d.getSide());
- line = d.getStart();
- if (cm.lineAtHeight(height - 20) < line) {
- cm.scrollToY(cm.heightAtLine(line, "local") - 0.5 * height);
+ if (diff.meta_b() != null) {
+ int line = 0;
+ if (!diffChunks.isEmpty()) {
+ DiffChunkInfo d = diffChunks.get(0);
+ CodeMirror cm = getCmFromSide(d.getSide());
+ line = d.getStart();
+ if (cm.lineAtHeight(height - 20) < line) {
+ cm.scrollToY(cm.heightAtLine(line, "local") - 0.5 * height);
+ }
}
+ cmB.setCursor(LineCharacter.create(line));
+ cmB.focus();
+ } else {
+ cmA.setCursor(LineCharacter.create(0));
+ cmA.focus();
}
- cmB.setCursor(LineCharacter.create(line));
- cmB.focus();
prefetchNextFile();
}