diff options
Diffstat (limited to 'platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java')
-rw-r--r-- | platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java index 8d6608e63dd9..15a907e826e4 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java @@ -443,6 +443,11 @@ public class CaretModelImpl implements CaretModel, PrioritizedDocumentListener, @Override public void setCaretsAndSelections(@NotNull final List<CaretState> caretStates) { + setCaretsAndSelections(caretStates, true); + } + + @Override + public void setCaretsAndSelections(@NotNull final List<CaretState> caretStates, final boolean updateSystemSelection) { myEditor.assertIsDispatchThread(); if (caretStates.isEmpty()) { throw new IllegalArgumentException("At least one caret should exist"); @@ -474,9 +479,11 @@ public class CaretModelImpl implements CaretModel, PrioritizedDocumentListener, caret.moveToLogicalPosition(caretState.getCaretPosition()); } if (caretState != null && caretState.getSelectionStart() != null && caretState.getSelectionEnd() != null) { - caret.setSelection(myEditor.logicalToVisualPosition(caretState.getSelectionStart()), myEditor.logicalPositionToOffset(caretState.getSelectionStart()), - myEditor.logicalToVisualPosition(caretState.getSelectionEnd()), myEditor.logicalPositionToOffset( - caretState.getSelectionEnd())); + caret.setSelection(myEditor.logicalToVisualPosition(caretState.getSelectionStart()), + myEditor.logicalPositionToOffset(caretState.getSelectionStart()), + myEditor.logicalToVisualPosition(caretState.getSelectionEnd()), + myEditor.logicalPositionToOffset(caretState.getSelectionEnd()), + updateSystemSelection); } } int caretsToRemove = myCarets.size() - caretStates.size(); |