Skip to content

Commit a75e535

Browse files
committed
Fix microsoft#21089. Drag slightly out of the editor.
1 parent de731d6 commit a75e535

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

  • src/vs/editor/contrib/dnd/browser

src/vs/editor/contrib/dnd/browser/dnd.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import 'vs/css!./dnd';
99
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
10-
import { ICodeEditor, IEditorMouseEvent } from 'vs/editor/browser/editorBrowser';
10+
import { ICodeEditor, IEditorMouseEvent, IMouseTarget } from 'vs/editor/browser/editorBrowser';
1111
import { editorContribution } from 'vs/editor/browser/editorBrowserExtensions';
1212
import * as editorCommon from 'vs/editor/common/editorCommon';
1313
import { Position } from 'vs/editor/common/core/position';
@@ -56,9 +56,7 @@ export class DragAndDropController implements editorCommon.IEditorContribution {
5656
}
5757

5858
private _onEditorMouseDrop(mouseEvent: IEditorMouseEvent): void {
59-
if (mouseEvent.target &&
60-
(mouseEvent.target.type === editorCommon.MouseTargetType.CONTENT_TEXT || mouseEvent.target.type === editorCommon.MouseTargetType.CONTENT_EMPTY) &&
61-
mouseEvent.target.position) {
59+
if (mouseEvent.target && (this._hitContent(mouseEvent.target) || this._hitMargin(mouseEvent.target)) && mouseEvent.target.position) {
6260
let newCursorPosition = new Position(mouseEvent.target.position.lineNumber, mouseEvent.target.position.column);
6361

6462
if (this._dragSelection.containsPosition(newCursorPosition)) {
@@ -98,6 +96,17 @@ export class DragAndDropController implements editorCommon.IEditorContribution {
9896
});
9997
}
10098

99+
private _hitContent(target: IMouseTarget): boolean {
100+
return target.type === editorCommon.MouseTargetType.CONTENT_TEXT ||
101+
target.type === editorCommon.MouseTargetType.CONTENT_EMPTY;
102+
}
103+
104+
private _hitMargin(target: IMouseTarget): boolean {
105+
return target.type === editorCommon.MouseTargetType.GUTTER_GLYPH_MARGIN ||
106+
target.type === editorCommon.MouseTargetType.GUTTER_LINE_NUMBERS ||
107+
target.type === editorCommon.MouseTargetType.GUTTER_LINE_DECORATIONS;
108+
}
109+
101110
public getId(): string {
102111
return DragAndDropController.ID;
103112
}

0 commit comments

Comments
 (0)