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"); + } }