From fd85bbc11dd74ed15a5eff999b7974dc547b1a8f Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 28 May 2015 14:04:04 +0200 Subject: [PATCH] second completion: just don't restore prefix if we can't (EA-64214 - NA: LookupOffsets.getLookupStart) --- .../com/intellij/codeInsight/lookup/impl/LookupImpl.java | 2 +- .../intellij/codeInsight/lookup/impl/LookupOffsets.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java index 40c35f294d7b..62bd4c2f0957 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java @@ -1027,7 +1027,7 @@ public class LookupImpl extends LightweightHint implements LookupEx, Disposable, } public void restorePrefix() { - myOffsets.restorePrefix(getLookupStart()); + myOffsets.restorePrefix(); } private static String staticDisposeTrace = null; 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 8d435b7ab980..84699a20cb92 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 @@ -143,10 +143,10 @@ public class LookupOffsets extends DocumentAdapter { myRemovedPrefix = 0; } - void restorePrefix(int lookupStart) { - if (myInitialPrefix != null) { - myEditor.getDocument().replaceString(lookupStart, myEditor.getCaretModel().getOffset(), myInitialPrefix); - } + void restorePrefix() { + if (myInitialPrefix == null || !myLookupStartMarker.isValid()) return; + + myEditor.getDocument().replaceString(myLookupStartMarker.getStartOffset(), myEditor.getCaretModel().getOffset(), myInitialPrefix); } void disposeMarkers() {