Unified: Comment on side B when pressing "c" in common regions

If the user presses "c" on a common region, always put a draft
comment on the revision side (side B) instead of using the side
of the diff chunk immediately before that region.

Change-Id: I6dd9f9c7548ba2aba6509aab5866f274fdf43914
This commit is contained in:
Michael Zhou
2016-03-23 13:31:49 -04:00
parent 303674968d
commit ee2661c014

View File

@@ -292,8 +292,17 @@ class UnifiedChunkManager extends ChunkManager {
res = -res - 1;
if (res > 0) {
UnifiedDiffChunkInfo info = chunks.get(res - 1);
return new LineSidePair(
info.getStart() + cmLine - info.getCmLine(), info.getSide());
int lineOnInfoSide = info.getStart() + cmLine - info.getCmLine();
if (lineOnInfoSide > info.getEnd()
&& info.getSide() == DisplaySide.A) {
// For the common region after a deletion chunk, return the line and
// side info on side B
return new LineSidePair(
getLineMapper().lineOnOther(DisplaySide.A, lineOnInfoSide)
.getLine(), DisplaySide.B);
} else {
return new LineSidePair(lineOnInfoSide, info.getSide());
}
} else {
// Always return side B
return new LineSidePair(cmLine, DisplaySide.B);