From 5e9762adfb7fcb7116a1fd24da449e341f2294b5 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 1 Jul 2014 17:13:35 +0200 Subject: [PATCH] LookupOffsets.updateLookupStart: ensure offset bounds instead of assertions (EA-49467, EA-47632) --- .../com/intellij/codeInsight/lookup/impl/LookupOffsets.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupOffsets.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupOffsets.java index 28d3aff18665..fe53f1796dbd 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupOffsets.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupOffsets.java @@ -51,10 +51,7 @@ public class LookupOffsets { private void updateLookupStart(int minPrefixLength) { int offset = getPivotOffset(); int start = offset - minPrefixLength - myAdditionalPrefix.length() + myRemovedPrefix; - if (start < 0) { - LOG.error("Invalid start offset: o=" + offset + ", mpl=" + minPrefixLength + ", ap=" + myAdditionalPrefix + ", rp=" + myRemovedPrefix); - return; - } + start = Math.max(Math.min(start, myEditor.getDocument().getTextLength()), 0); if (myLookupStartMarker != null) { if (myLookupStartMarker.isValid() && myLookupStartMarker.getStartOffset() == start && myLookupStartMarker.getEndOffset() == start) { return;