diff options
Diffstat (limited to 'platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java')
-rw-r--r-- | platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java b/platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java index d0288d71a9a2..da44ae6c123c 100644 --- a/platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java +++ b/platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java @@ -212,13 +212,24 @@ public class CaretModelWindow implements CaretModel { @Override public void setCaretsAndSelections(@NotNull List<CaretState> caretStates) { + List<CaretState> convertedStates = convertCaretStates(caretStates); + myDelegate.setCaretsAndSelections(convertedStates); + } + + @Override + public void setCaretsAndSelections(@NotNull List<CaretState> caretStates, boolean updateSystemSelection) { + List<CaretState> convertedStates = convertCaretStates(caretStates); + myDelegate.setCaretsAndSelections(convertedStates, updateSystemSelection); + } + + private List<CaretState> convertCaretStates(List<CaretState> caretStates) { List<CaretState> convertedStates = new ArrayList<CaretState>(caretStates.size()); for (CaretState state : caretStates) { convertedStates.add(new CaretState(injectedToHost(state.getCaretPosition()), injectedToHost(state.getSelectionStart()), injectedToHost(state.getSelectionEnd()))); } - myDelegate.setCaretsAndSelections(convertedStates); + return convertedStates; } private LogicalPosition injectedToHost(@Nullable LogicalPosition position) { |