diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/UnifiedChunkManager.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/UnifiedChunkManager.java index 832635c872..866f0f7af6 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/UnifiedChunkManager.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/UnifiedChunkManager.java @@ -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);