diff --git a/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java b/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java index cdfd5c039df9..dde9d2ac0e04 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java +++ b/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java @@ -153,6 +153,7 @@ public class FileStructurePopup implements Disposable { if (myStructureView instanceof StructureViewComposite) { StructureViewComposite.StructureViewDescriptor[] views = ((StructureViewComposite)myStructureView).getStructureViews(); myBaseTreeModel = new StructureViewCompositeModel(myPsiFile, views); + Disposer.register(this, (Disposable)myBaseTreeModel); } else { myBaseTreeModel = structureViewModel; } diff --git a/platform/lang-impl/src/com/intellij/ide/util/StructureViewCompositeModel.java b/platform/lang-impl/src/com/intellij/ide/util/StructureViewCompositeModel.java index f359d0137495..ca4c13626095 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/StructureViewCompositeModel.java +++ b/platform/lang-impl/src/com/intellij/ide/util/StructureViewCompositeModel.java @@ -24,6 +24,7 @@ import com.intellij.ide.util.treeView.smartTree.NodeProvider; import com.intellij.ide.util.treeView.smartTree.ProvidingTreeModel; import com.intellij.ide.util.treeView.smartTree.TreeElement; import com.intellij.navigation.ItemPresentation; +import com.intellij.openapi.Disposable; import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -34,7 +35,7 @@ import java.util.*; /** * @author Konstantin Bulenkov */ -public class StructureViewCompositeModel extends StructureViewModelBase { +public class StructureViewCompositeModel extends StructureViewModelBase implements Disposable { private final StructureViewComposite.StructureViewDescriptor[] myViews; public StructureViewCompositeModel(PsiFile file, StructureViewComposite.StructureViewDescriptor[] views) {