mirror of
https://github.com/microsoft/vscode.git
synced 2026-08-17 04:15:47 +01:00
Fixes diff editor bug
This commit is contained in:
committed by
Henning Dieterichs
parent
ba38f8a5ee
commit
dca6f399d3
@@ -35,6 +35,12 @@ export function assert(condition: boolean): void {
|
||||
}
|
||||
}
|
||||
|
||||
export function softAssert(condition: boolean): void {
|
||||
if (!condition) {
|
||||
onUnexpectedError(new BugIndicatingError('Assertion Failed'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* condition must be side-effect free!
|
||||
*/
|
||||
|
||||
@@ -22,6 +22,7 @@ import { DiffEditorOptions } from './diffEditorOptions';
|
||||
import { optimizeSequenceDiffs } from 'vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations';
|
||||
import { isDefined } from 'vs/base/common/types';
|
||||
import { groupAdjacentBy } from 'vs/base/common/arrays';
|
||||
import { softAssert } from 'vs/base/common/assert';
|
||||
|
||||
export class DiffEditorViewModel extends Disposable implements IDiffEditorViewModel {
|
||||
private readonly _isDiffUpToDate = observableValue<boolean>(this, false);
|
||||
@@ -509,8 +510,14 @@ export class UnchangedRegion {
|
||||
visibleLineCountTop: number,
|
||||
visibleLineCountBottom: number,
|
||||
) {
|
||||
this._visibleLineCountTop.set(visibleLineCountTop, undefined);
|
||||
this._visibleLineCountBottom.set(visibleLineCountBottom, undefined);
|
||||
const visibleLineCountTop2 = Math.max(Math.min(visibleLineCountTop, this.lineCount), 0);
|
||||
const visibleLineCountBottom2 = Math.max(Math.min(visibleLineCountBottom, this.lineCount - visibleLineCountTop), 0);
|
||||
|
||||
softAssert(visibleLineCountTop === visibleLineCountTop2);
|
||||
softAssert(visibleLineCountBottom === visibleLineCountBottom2);
|
||||
|
||||
this._visibleLineCountTop.set(visibleLineCountTop2, undefined);
|
||||
this._visibleLineCountBottom.set(visibleLineCountBottom2, undefined);
|
||||
}
|
||||
|
||||
public setVisibleRanges(visibleRanges: LineRangeMapping[], tx: ITransaction): UnchangedRegion[] {
|
||||
|
||||
Reference in New Issue
Block a user