From ee0b7792a199ff6db98fdb5b4cf8656bf88c8b6e Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Fri, 14 Oct 2022 17:51:16 +0200 Subject: [PATCH] fix https://github.com/microsoft/vscode/issues/147762 (#162751) --- .../gotoSymbol/browser/link/clickLinkGesture.ts | 8 ++++++-- .../browser/link/goToDefinitionAtPosition.ts | 11 ++++++----- .../stickyScroll/browser/stickyScrollWidget.ts | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.ts b/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.ts index 78b3bdbfed5..a5777a61539 100644 --- a/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.ts +++ b/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.ts @@ -25,11 +25,15 @@ export class ClickLinkMouseEvent { public readonly hasTriggerModifier: boolean; public readonly hasSideBySideModifier: boolean; public readonly isNoneOrSingleMouseDown: boolean; - public readonly hasRightClick: boolean; + public readonly isLeftClick: boolean; + public readonly isMiddleClick: boolean; + public readonly isRightClick: boolean; constructor(source: IEditorMouseEvent, opts: ClickLinkOptions) { this.target = source.target; - this.hasRightClick = source.event.rightButton; + this.isLeftClick = source.event.leftButton; + this.isMiddleClick = source.event.middleButton; + this.isRightClick = source.event.rightButton; this.hasTriggerModifier = hasModifier(source.event, opts.triggerModifier); this.hasSideBySideModifier = hasModifier(source.event, opts.triggerSideBySideModifier); this.isNoneOrSingleMouseDown = (source.event.detail <= 1); diff --git a/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.ts b/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.ts index 87492186e71..48ec76ca093 100644 --- a/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.ts +++ b/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.ts @@ -277,11 +277,12 @@ export class GotoDefinitionAtPositionEditorContribution implements IEditorContri } private isEnabled(mouseEvent: ClickLinkMouseEvent, withKey?: ClickLinkKeyboardEvent): boolean { - return this.editor.hasModel() && - mouseEvent.isNoneOrSingleMouseDown && - (mouseEvent.target.type === MouseTargetType.CONTENT_TEXT) && - (mouseEvent.hasTriggerModifier || (withKey ? withKey.keyCodeIsTriggerKey : false)) && - this.languageFeaturesService.definitionProvider.has(this.editor.getModel()); + return this.editor.hasModel() + && mouseEvent.isLeftClick + && mouseEvent.isNoneOrSingleMouseDown + && mouseEvent.target.type === MouseTargetType.CONTENT_TEXT + && (mouseEvent.hasTriggerModifier || (withKey ? withKey.keyCodeIsTriggerKey : false)) + && this.languageFeaturesService.definitionProvider.has(this.editor.getModel()); } private findDefinition(position: Position, token: CancellationToken): Promise { diff --git a/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.ts b/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.ts index 777154b9891..ed4f02e586c 100644 --- a/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.ts +++ b/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.ts @@ -152,7 +152,7 @@ export class StickyScrollWidget extends Disposable implements IOverlayWidget { this._editor.revealPosition({ lineNumber: this._hoverOnLine, column: 1 }); } this._instaService.invokeFunction(goToDefinitionWithLocation, e, this._editor as IActiveCodeEditor, { uri: this._editor.getModel()!.uri, range: this._stickyRangeProjectedOnEditor } as Location); - } else if (!e.hasRightClick) { + } else if (!e.isRightClick) { // Normal click this._editor.revealPosition({ lineNumber: this._hoverOnLine, column: 1 }); }