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; package org.jetbrains.jet.plugin.internal.codewindow;
import com.intellij.ide.highlighter.JavaFileType; import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.Result; import com.intellij.openapi.application.Result;
import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Document;
@@ -52,7 +53,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Scanner; 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 int UPDATE_DELAY = 500;
private static final String DEFAULT_TEXT = "/*\n" + private static final String DEFAULT_TEXT = "/*\n" +
"Generated bytecode for Kotlin source file.\n" + "Generated bytecode for Kotlin source file.\n" +
@@ -223,6 +224,11 @@ public class BytecodeToolwindow extends JPanel {
return answer.toString(); return answer.toString();
} }
@Override
public void dispose() {
EditorFactory.getInstance().releaseEditor(myEditor);
}
public static class Location { public static class Location {
final Editor editor; final Editor editor;
final long modificationStamp; final long modificationStamp;
@@ -19,6 +19,7 @@
*/ */
package org.jetbrains.jet.plugin.internal.resolvewindow; package org.jetbrains.jet.plugin.internal.resolvewindow;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.Result; import com.intellij.openapi.application.Result;
import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.Editor;
@@ -62,7 +63,7 @@ import static org.jetbrains.jet.lang.resolve.calls.ResolutionDebugInfo.*;
/* /*
* @author abreslav * @author abreslav
*/ */
public class ResolveToolwindow extends JPanel { public class ResolveToolwindow extends JPanel implements Disposable {
public static final String BAR = "\n\n===\n\n"; public static final String BAR = "\n\n===\n\n";
@@ -340,4 +341,9 @@ public class ResolveToolwindow extends JPanel {
} }
}.execute(); }.execute();
} }
@Override
public void dispose() {
EditorFactory.getInstance().releaseEditor(myEditor);
}
} }