inspection view: fix alarm leak EA-92663

This commit is contained in:
Dmitry Batkovich
2017-01-17 11:42:33 +03:00
parent 6f8ffc1dcd
commit fbc56a607c
@@ -31,14 +31,10 @@ import com.intellij.psi.*;
import com.intellij.util.Alarm;
import com.intellij.util.Processor;
import com.intellij.util.containers.hash.HashSet;
import com.intellij.util.ui.tree.TreeUtil;
import com.intellij.util.ui.update.MergingUpdateQueue;
import com.intellij.util.ui.update.Update;
import org.jetbrains.annotations.NotNull;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
import java.util.List;
import java.util.Set;
/**
@@ -50,10 +46,11 @@ class InspectionViewPsiTreeChangeAdapter extends PsiTreeChangeAdapter {
private final InspectionResultsView myView;
private final MergingUpdateQueue myUpdater;
private final Alarm myAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD);
private final Alarm myAlarm;
public InspectionViewPsiTreeChangeAdapter(@NotNull InspectionResultsView view) {
myView = view;
myAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD, view);
myUpdater = new MergingUpdateQueue("inspection.view.psi.update.listener",
300,
true,
@@ -110,9 +107,7 @@ class InspectionViewPsiTreeChangeAdapter extends PsiTreeChangeAdapter {
});
if (needUpdateUI[0]) {
myAlarm.cancelAllRequests();
myAlarm.addRequest(() -> {
myView.resetTree();
}, 100, ModalityState.NON_MODAL);
myAlarm.addRequest(() -> myView.resetTree(), 100, ModalityState.NON_MODAL);
}
}
};