Made BytecodeToolwindow and ResolveToolwindow disposable: got rid of unreleased editor exception on closing IDEA.

#KT-733 fixed
This commit is contained in:
Evgeny Gerashchenko
2012-02-20 18:53:14 +04:00
parent 0d78fa41b7
commit c5091adf14
2 changed files with 14 additions and 2 deletions
@@ -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);
}
}