simplify fix "Avoid memory leak in case: myDone executed but myRejected still keep doWhenRejected listeners (and vice versa)"

This commit is contained in:
Vladimir Krivosheev
2013-08-05 15:38:38 +02:00
parent 5e69d3f186
commit f600e084aa
2 changed files with 5 additions and 3 deletions
@@ -63,6 +63,7 @@ public class ActionCallback implements Disposable {
public void setDone() {
if (myDone.setExecuted()) {
myRejected.clear();
Disposer.dispose(this);
}
}
@@ -81,6 +82,7 @@ public class ActionCallback implements Disposable {
public void setRejected() {
if (myRejected.setExecuted()) {
myDone.clear();
Disposer.dispose(this);
}
}
@@ -190,9 +192,6 @@ public class ActionCallback implements Disposable {
@Override
public void dispose() {
// avoid memory leak in case: myDone executed but myRejected still keep doWhenRejected listeners (and vice versa)
myDone.clear();
myRejected.clear();
}
@NotNull
@@ -100,6 +100,9 @@ class ExecutionCallback {
toRun.run();
}
/**
* Avoid memory leak in case: myDone executed but myRejected still keep doWhenRejected listeners (and vice versa)
*/
synchronized void clear() {
myRunnables = null;
}