mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-10 13:17:09 +07:00
dispose range markers during templates (IDEA-79909)
This commit is contained in:
@@ -1324,6 +1324,10 @@ public class LookupImpl extends LightweightHint implements LookupEx, Disposable
|
||||
return;
|
||||
}
|
||||
|
||||
if (myLookupStartMarker != null) {
|
||||
myLookupStartMarker.dispose();
|
||||
myLookupStartMarker = null;
|
||||
}
|
||||
Disposer.dispose(myProcessIcon);
|
||||
Disposer.dispose(myHintAlarm);
|
||||
|
||||
|
||||
@@ -45,6 +45,9 @@ public class TemplateSegments {
|
||||
}
|
||||
|
||||
public void removeAll() {
|
||||
for (RangeMarker segment : mySegments) {
|
||||
segment.dispose();
|
||||
}
|
||||
mySegments.clear();
|
||||
}
|
||||
|
||||
|
||||
@@ -248,7 +248,10 @@ public class TemplateState implements Disposable {
|
||||
mySegments.removeAll();
|
||||
mySegments = null;
|
||||
}
|
||||
myTemplateRange = null;
|
||||
if (myTemplateRange != null) {
|
||||
myTemplateRange.dispose();
|
||||
myTemplateRange = null;
|
||||
}
|
||||
myPrevTemplate = myTemplate;
|
||||
myTemplate = null;
|
||||
releaseEditor();
|
||||
|
||||
+4
@@ -339,6 +339,7 @@ public abstract class AbstractInplaceIntroducer<V extends PsiNameIdentifierOwner
|
||||
|
||||
@Override
|
||||
protected void releaseResources() {
|
||||
super.releaseResources();
|
||||
if (myPreview == null) return;
|
||||
|
||||
EditorFactory.getInstance().releaseEditor(myPreview);
|
||||
@@ -503,6 +504,9 @@ public abstract class AbstractInplaceIntroducer<V extends PsiNameIdentifierOwner
|
||||
}
|
||||
}
|
||||
super.moveOffsetAfter(success);
|
||||
if (myLocalMarker != null && !isRestart()) {
|
||||
myLocalMarker.dispose();
|
||||
}
|
||||
if (success) {
|
||||
performPostIntroduceTasks();
|
||||
}
|
||||
|
||||
+22
-2
@@ -150,7 +150,7 @@ public abstract class InplaceVariableIntroducer<E extends PsiElement> extends In
|
||||
@Override
|
||||
protected void beforeTemplateStart() {
|
||||
myCaretRangeMarker = myEditor.getDocument()
|
||||
.createRangeMarker(new TextRange(myEditor.getCaretModel().getOffset(), myEditor.getCaretModel().getOffset()));
|
||||
.createRangeMarker(new TextRange(myEditor.getCaretModel().getOffset(), myEditor.getCaretModel().getOffset()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -173,8 +173,28 @@ public abstract class InplaceVariableIntroducer<E extends PsiElement> extends In
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void releaseResources() {
|
||||
@Override
|
||||
protected void moveOffsetAfter(boolean success) {
|
||||
super.moveOffsetAfter(success);
|
||||
if (myOccurrenceMarkers != null) {
|
||||
for (RangeMarker marker : myOccurrenceMarkers) {
|
||||
marker.dispose();
|
||||
}
|
||||
}
|
||||
if (myCaretRangeMarker != null) {
|
||||
myCaretRangeMarker.dispose();
|
||||
}
|
||||
if (myExprMarker != null && !isRestart()) {
|
||||
myExprMarker.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean isRestart() {
|
||||
final Boolean isRestart = myEditor.getUserData(INTRODUCE_RESTART);
|
||||
return isRestart != null && isRestart;
|
||||
}
|
||||
|
||||
protected void releaseResources() {
|
||||
}
|
||||
|
||||
protected void showBalloon() {
|
||||
|
||||
Reference in New Issue
Block a user