Made BytecodeToolwindow and ResolveToolwindow disposable: got rid of unreleased editor exception on closing IDEA.
#KT-733 fixed
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
package org.jetbrains.jet.plugin.internal.codewindow;
|
||||
|
||||
import com.intellij.ide.highlighter.JavaFileType;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.application.Result;
|
||||
import com.intellij.openapi.command.WriteCommandAction;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
@@ -52,7 +53,7 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class BytecodeToolwindow extends JPanel {
|
||||
public class BytecodeToolwindow extends JPanel implements Disposable {
|
||||
private static final int UPDATE_DELAY = 500;
|
||||
private static final String DEFAULT_TEXT = "/*\n" +
|
||||
"Generated bytecode for Kotlin source file.\n" +
|
||||
@@ -223,6 +224,11 @@ public class BytecodeToolwindow extends JPanel {
|
||||
return answer.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
EditorFactory.getInstance().releaseEditor(myEditor);
|
||||
}
|
||||
|
||||
public static class Location {
|
||||
final Editor editor;
|
||||
final long modificationStamp;
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
*/
|
||||
package org.jetbrains.jet.plugin.internal.resolvewindow;
|
||||
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.application.Result;
|
||||
import com.intellij.openapi.command.WriteCommandAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -62,7 +63,7 @@ import static org.jetbrains.jet.lang.resolve.calls.ResolutionDebugInfo.*;
|
||||
/*
|
||||
* @author abreslav
|
||||
*/
|
||||
public class ResolveToolwindow extends JPanel {
|
||||
public class ResolveToolwindow extends JPanel implements Disposable {
|
||||
|
||||
public static final String BAR = "\n\n===\n\n";
|
||||
|
||||
@@ -340,4 +341,9 @@ public class ResolveToolwindow extends JPanel {
|
||||
}
|
||||
}.execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
EditorFactory.getInstance().releaseEditor(myEditor);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user