From a75350633b93a3bacda5dc14c9eb9e7aaa9c87a6 Mon Sep 17 00:00:00 2001 From: Dmitry Batrak Date: Fri, 29 Dec 2017 12:39:12 +0300 Subject: [PATCH] IDEA-184219 New selection doesn't start from within existing selection fix CreateRectangularSelection action --- .../src/com/intellij/openapi/editor/impl/EditorImpl.java | 2 +- .../com/intellij/openapi/editor/impl/EditorImplTest.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index 25d333f70ab0..38af86a4f10b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -3814,7 +3814,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi } } else { - if (!myMousePressedInsideSelectionForDrag && getSelectionModel().hasSelection()) { + if (!myMousePressedInsideSelectionForDrag && getSelectionModel().hasSelection() && !isCreateRectangularSelectionEvent(e)) { setMouseSelectionState(MOUSE_SELECTION_STATE_NONE); mySelectionModel.setSelection(caretOffset, caretOffset); } diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/EditorImplTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/EditorImplTest.java index e5e0f9062d5e..3904bbf0f457 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/EditorImplTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/EditorImplTest.java @@ -549,4 +549,11 @@ public class EditorImplTest extends AbstractEditorTest { mouse.release(); checkResultByText("abcdef"); } + + public void testCreateRectangularSelectionWithDndDisabled() { + initText("ab\ncd"); + myEditor.getSettings().setDndEnabled(false); + mouse().alt().shift().middle().clickAt(0, 0); + checkResultByText("ab\ncd"); + } }