diff --git a/src/vs/workbench/parts/scm/electron-browser/dirtydiffDecorator.ts b/src/vs/workbench/parts/scm/electron-browser/dirtydiffDecorator.ts index 3c86aff760df5a8787c60fed2d410794757c346e..be131587ccda4bbbc80b4d2f8da64e6c8db08812 100644 --- a/src/vs/workbench/parts/scm/electron-browser/dirtydiffDecorator.ts +++ b/src/vs/workbench/parts/scm/electron-browser/dirtydiffDecorator.ts @@ -380,6 +380,10 @@ export class ShowPreviousChangeAction extends EditorAction { return; } + if (!controller.canNavigate()) { + return; + } + controller.previous(); } } @@ -410,6 +414,10 @@ export class ShowNextChangeAction extends EditorAction { return; } + if (!controller.canNavigate()) { + return; + } + controller.next(); } } @@ -477,6 +485,10 @@ export class DirtyDiffController implements IEditorContribution { return DirtyDiffController.ID; } + canNavigate(): boolean { + return this.currentIndex === -1 || this.model.changes.length > 1; + } + next(lineNumber?: number): void { if (!this.assertWidget()) { return;