diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java b/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java index f45578e09b31..d25cad24be18 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java @@ -718,7 +718,7 @@ public final class EditorUtil { LogicalPosition first = editor.visualToLogicalPosition(new VisualPosition(start.line, 0)); for ( int line = first.line, offset = document.getLineStartOffset(line); - offset > 0; + offset >= 0; offset = document.getLineStartOffset(line)) { final FoldRegion foldRegion = foldingModel.getCollapsedRegionAtOffset(offset); diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/actions/EditorActionTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/actions/EditorActionTest.java index 8a0a74f0646f..0757ab8926e5 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/actions/EditorActionTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/actions/EditorActionTest.java @@ -17,6 +17,7 @@ package com.intellij.openapi.editor.actions; import com.intellij.openapi.editor.EditorSettings; import com.intellij.openapi.editor.impl.AbstractEditorTest; +import com.intellij.testFramework.EditorTestUtil; import com.intellij.testFramework.TestFileType; public class EditorActionTest extends AbstractEditorTest { @@ -53,4 +54,13 @@ public class EditorActionTest extends AbstractEditorTest { editorSettings.setCaretInsideTabs(old); } } + + public void testDuplicateFirstLineWhenSoftWrapsAreOn() throws Exception { + init("long long text", TestFileType.TEXT); + EditorTestUtil.configureSoftWraps(myEditor, 10); + + executeAction("EditorDuplicate"); + checkResultByText("long long text\n" + + "long long text"); + } } \ No newline at end of file