summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2014-07-25 13:10:36 -0700
committerTor Norbye <tnorbye@google.com>2014-07-25 13:10:36 -0700
commite5266e2343c8d275d79fa0be725180d0fe3a993c (patch)
tree0ba72f5de1949e0527874a799baa224cbe1537e0 /platform/platform-impl/src/com/intellij/openapi/editor/impl/CaretModelImpl.java
parentb03a5855292feb8c331815f883fe64372aacd872 (diff)
parent2e5965e996aad62ab1338b09d54caaf99ff3dd6a (diff)
downloadidea-e5266e2343c8d275d79fa0be725180d0fe3a993c.tar.gz
Merge remote-tracking branch 'aosp/upstream-master' into merge
Conflicts: .idea/modules.xml Change-Id: I5e3d04bc83cdc26b2b56fca66b44b1dd8941b143
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.java14
1 files changed, 7 insertions, 7 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 a18d45472454..8d6608e63dd9 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
@@ -282,11 +282,9 @@ public class CaretModelImpl implements CaretModel, PrioritizedDocumentListener,
}
}
- boolean addCaret(CaretImpl caretToAdd) {
+ boolean addCaret(@NotNull CaretImpl caretToAdd) {
for (CaretImpl caret : myCarets) {
- VisualPosition newVisualPosition = caretToAdd.getVisualPosition();
- int newOffset = myEditor.logicalPositionToOffset(myEditor.visualToLogicalPosition(newVisualPosition));
- if (caret.getVisualPosition().equals(newVisualPosition) || newOffset >= caret.getSelectionStart() && newOffset <= caret.getSelectionEnd()) {
+ if (caretsOverlap(caret, caretToAdd)) {
return false;
}
}
@@ -384,8 +382,7 @@ public class CaretModelImpl implements CaretModel, PrioritizedDocumentListener,
it.next();
}
CaretImpl currCaret = it.next();
- if (prevCaret != null && (currCaret.getVisualPosition().equals(prevCaret.getVisualPosition())
- || selectionsIntersect(currCaret, prevCaret))) {
+ if (prevCaret != null && caretsOverlap(currCaret, prevCaret)) {
int newSelectionStart = Math.min(currCaret.getSelectionStart(), prevCaret.getSelectionStart());
int newSelectionEnd = Math.max(currCaret.getSelectionEnd(), prevCaret.getSelectionEnd());
CaretImpl toRetain, toRemove;
@@ -410,7 +407,10 @@ public class CaretModelImpl implements CaretModel, PrioritizedDocumentListener,
}
}
- private static boolean selectionsIntersect(CaretImpl firstCaret, CaretImpl secondCaret) {
+ private static boolean caretsOverlap(@NotNull CaretImpl firstCaret, @NotNull CaretImpl secondCaret) {
+ if (firstCaret.getVisualPosition().equals(secondCaret.getVisualPosition())) {
+ return true;
+ }
int firstStart = firstCaret.getSelectionStart();
int secondStart = secondCaret.getSelectionStart();
int firstEnd = firstCaret.getSelectionEnd();