From 7df493f7cec3657e27609ef969795589ca322bb0 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 7 May 2020 21:49:35 +0200 Subject: [PATCH] Specify parent for disposables explicitly GitOrigin-RevId: 8497c2813305b81825c3e6faafb08a656f2d7e82 --- .../com/intellij/openapi/ide/CopyPasteManager.java | 4 ++++ .../com/intellij/openapi/vcs/FileStatusManager.java | 4 ++++ .../intellij/ide/commander/ProjectListBuilder.java | 11 ++--------- .../src/com/intellij/ide/todo/TodoTreeBuilder.java | 3 +-- .../intellij/openapi/vcs/update/UpdateInfoTree.java | 6 +----- .../intellij/coverage/view/CoverageViewBuilder.java | 8 +------- .../ui/preview/MarkdownCodeFencePluginCache.java | 2 +- 7 files changed, 14 insertions(+), 24 deletions(-) diff --git a/platform/editor-ui-api/src/com/intellij/openapi/ide/CopyPasteManager.java b/platform/editor-ui-api/src/com/intellij/openapi/ide/CopyPasteManager.java index d7d91b145ac1..1b56e67909e3 100644 --- a/platform/editor-ui-api/src/com/intellij/openapi/ide/CopyPasteManager.java +++ b/platform/editor-ui-api/src/com/intellij/openapi/ide/CopyPasteManager.java @@ -33,6 +33,10 @@ public abstract class CopyPasteManager { return ServiceManager.getService(CopyPasteManager.class); } + /** + * @deprecated Please use overload with parent disposable + */ + @Deprecated public abstract void addContentChangedListener(@NotNull ContentChangedListener listener); public abstract void addContentChangedListener(@NotNull ContentChangedListener listener, @NotNull Disposable parentDisposable); diff --git a/platform/editor-ui-api/src/com/intellij/openapi/vcs/FileStatusManager.java b/platform/editor-ui-api/src/com/intellij/openapi/vcs/FileStatusManager.java index a674917e9816..3528d30ebf8b 100644 --- a/platform/editor-ui-api/src/com/intellij/openapi/vcs/FileStatusManager.java +++ b/platform/editor-ui-api/src/com/intellij/openapi/vcs/FileStatusManager.java @@ -30,6 +30,10 @@ public abstract class FileStatusManager { public abstract void fileStatusChanged(VirtualFile file); + /** + * @deprecated Please use overload with parent disposable + */ + @Deprecated public abstract void addFileStatusListener(@NotNull FileStatusListener listener); public abstract void addFileStatusListener(@NotNull FileStatusListener listener, @NotNull Disposable parentDisposable); diff --git a/platform/lang-impl/src/com/intellij/ide/commander/ProjectListBuilder.java b/platform/lang-impl/src/com/intellij/ide/commander/ProjectListBuilder.java index 01cc258d47ee..73c70a8e3dd6 100644 --- a/platform/lang-impl/src/com/intellij/ide/commander/ProjectListBuilder.java +++ b/platform/lang-impl/src/com/intellij/ide/commander/ProjectListBuilder.java @@ -44,9 +44,9 @@ public class ProjectListBuilder extends AbstractListBuilder { myPsiTreeChangeListener = new MyPsiTreeChangeListener(); PsiManager.getInstance(myProject).addPsiTreeChangeListener(myPsiTreeChangeListener, this); myFileStatusListener = new MyFileStatusListener(); - FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener); + FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener, this); myCopyPasteListener = new MyCopyPasteListener(); - CopyPasteManager.getInstance().addContentChangedListener(myCopyPasteListener); + CopyPasteManager.getInstance().addContentChangedListener(myCopyPasteListener, this); buildRoot(); } @@ -85,13 +85,6 @@ public class ProjectListBuilder extends AbstractListBuilder { return result; } - @Override - public void dispose() { - super.dispose(); - FileStatusManager.getInstance(myProject).removeFileStatusListener(myFileStatusListener); - CopyPasteManager.getInstance().removeContentChangedListener(myCopyPasteListener); - } - public void addUpdateRequest() { addUpdateRequest(false); } diff --git a/platform/lang-impl/src/com/intellij/ide/todo/TodoTreeBuilder.java b/platform/lang-impl/src/com/intellij/ide/todo/TodoTreeBuilder.java index 37bd0569236c..30a6dc11064a 100644 --- a/platform/lang-impl/src/com/intellij/ide/todo/TodoTreeBuilder.java +++ b/platform/lang-impl/src/com/intellij/ide/todo/TodoTreeBuilder.java @@ -121,7 +121,7 @@ public abstract class TodoTreeBuilder implements Disposable { } catch (IndexNotReadyException ignore) {} - FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener); + FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener, this); } public boolean isDisposed() { @@ -131,7 +131,6 @@ public abstract class TodoTreeBuilder implements Disposable { @Override public final void dispose() { myDisposed = true; - FileStatusManager.getInstance(myProject).removeFileStatusListener(myFileStatusListener); } final boolean isUpdatable() { diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/update/UpdateInfoTree.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/update/UpdateInfoTree.java index 1f37ca9c4623..6239c914ea04 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/update/UpdateInfoTree.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/update/UpdateInfoTree.java @@ -103,7 +103,7 @@ public class UpdateInfoTree extends PanelWithActionsAndCloseButton { myVcsConfiguration = VcsConfiguration.getInstance(myProject); myFileStatusManager = FileStatusManager.getInstance(myProject); - myFileStatusManager.addFileStatusListener(myFileStatusListener); + myFileStatusManager.addFileStatusListener(myFileStatusListener, this); createTree(); init(); myTreeExpander = new DefaultTreeExpander(myTree); @@ -113,10 +113,6 @@ public class UpdateInfoTree extends PanelWithActionsAndCloseButton { @Override public void dispose() { Disposer.dispose(myRoot); - if (myFileStatusListener != null) { - myFileStatusManager.removeFileStatusListener(myFileStatusListener); - myFileStatusListener = null; - } } public void setCanGroupByChangeList(final boolean canGroupByChangeList) { diff --git a/plugins/coverage-common/src/com/intellij/coverage/view/CoverageViewBuilder.java b/plugins/coverage-common/src/com/intellij/coverage/view/CoverageViewBuilder.java index 908cc5153a91..65074636c743 100644 --- a/plugins/coverage-common/src/com/intellij/coverage/view/CoverageViewBuilder.java +++ b/plugins/coverage-common/src/com/intellij/coverage/view/CoverageViewBuilder.java @@ -59,13 +59,7 @@ public class CoverageViewBuilder extends AbstractListBuilder { myCoverageViewExtension = ((CoverageViewTreeStructure)myTreeStructure).myData .getCoverageEngine().createCoverageViewExtension(myProject, ((CoverageViewTreeStructure)myTreeStructure).myData, ((CoverageViewTreeStructure)myTreeStructure).myStateBean); - FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener); - } - - @Override - public void dispose() { - FileStatusManager.getInstance(myProject).removeFileStatusListener(myFileStatusListener); - super.dispose(); + FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener, this); } @Override diff --git a/plugins/markdown/src/org/intellij/plugins/markdown/ui/preview/MarkdownCodeFencePluginCache.java b/plugins/markdown/src/org/intellij/plugins/markdown/ui/preview/MarkdownCodeFencePluginCache.java index 5a1c56d66a39..98a1fff451b4 100644 --- a/plugins/markdown/src/org/intellij/plugins/markdown/ui/preview/MarkdownCodeFencePluginCache.java +++ b/plugins/markdown/src/org/intellij/plugins/markdown/ui/preview/MarkdownCodeFencePluginCache.java @@ -51,7 +51,7 @@ public class MarkdownCodeFencePluginCache implements Disposable { myAdditionalCacheToDelete.addAll(processSourceFileToDelete(event.getFile(), ContainerUtil.emptyList())); } } - }); + }, this); } private static List getPluginSystemPaths() {