aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar DINH Viet Hoa <hoa@sprw.me>2013-01-27 11:27:34 -0800
committerGravatar DINH Viet Hoa <hoa@sprw.me>2013-01-27 11:27:34 -0800
commit80ebb639fbd575864fb9039048c9e90f3a9b4f13 (patch)
tree81925ef915de02236fa6220f62c1c448762ffe3c
parent150300dfc789d346d45c90ad240448566e675e38 (diff)
don't call callback if operation has been cancelled.
-rw-r--r--src/core/basetypes/MCOperationQueue.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/basetypes/MCOperationQueue.cc b/src/core/basetypes/MCOperationQueue.cc
index d235fe91..5309b111 100644
--- a/src/core/basetypes/MCOperationQueue.cc
+++ b/src/core/basetypes/MCOperationQueue.cc
@@ -90,8 +90,10 @@ void OperationQueue::runOperations()
}
pthread_mutex_unlock(&mLock);
- if (op->callback() != NULL) {
- performMethodOnMainThread((Object::Method) &OperationQueue::callbackOnMainThread, op, true);
+ if (!op->isCancelled()) {
+ if (op->callback() != NULL) {
+ performMethodOnMainThread((Object::Method) &OperationQueue::callbackOnMainThread, op, true);
+ }
}
if (needsCheckRunning) {