mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EA-77437 - IOE: ObjectTree.register: the case of listener fired too quick
This commit is contained in:
+2
-1
@@ -851,7 +851,6 @@ public class DaemonCodeAnalyzerImpl extends DaemonCodeAnalyzerEx implements Pers
|
||||
}
|
||||
if (HeavyProcessLatch.INSTANCE.isRunning()) {
|
||||
final Disposable removeListenerDisposable = Disposer.newDisposable();
|
||||
Disposer.register(DaemonCodeAnalyzerImpl.this, removeListenerDisposable);
|
||||
// wait for heavy processing to stop, re-schedule daemon but not too soon
|
||||
HeavyProcessLatch.HeavyProcessListener heavyProcessListener = new HeavyProcessLatch.HeavyProcessListener() {
|
||||
@Override
|
||||
@@ -865,6 +864,8 @@ public class DaemonCodeAnalyzerImpl extends DaemonCodeAnalyzerEx implements Pers
|
||||
}
|
||||
};
|
||||
HeavyProcessLatch.INSTANCE.addListener(removeListenerDisposable, heavyProcessListener);
|
||||
Disposer.register(DaemonCodeAnalyzerImpl.this, removeListenerDisposable);
|
||||
|
||||
if (!HeavyProcessLatch.INSTANCE.isRunning()) {
|
||||
// in case heavy operation finished right before listener added
|
||||
heavyProcessListener.processFinished();
|
||||
|
||||
Reference in New Issue
Block a user