aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/basetypes/MCOperation.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/basetypes/MCOperation.cc')
-rw-r--r--src/core/basetypes/MCOperation.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/core/basetypes/MCOperation.cc b/src/core/basetypes/MCOperation.cc
index 5587f2f6..b6848d78 100644
--- a/src/core/basetypes/MCOperation.cc
+++ b/src/core/basetypes/MCOperation.cc
@@ -70,3 +70,16 @@ dispatch_queue_t Operation::callbackDispatchQueue()
return mCallbackDispatchQueue;
}
#endif
+
+void Operation::performMethodOnCallbackThread(Method method, void * context, bool waitUntilDone)
+{
+#if __APPLE__
+ dispatch_queue_t queue = mCallbackDispatchQueue;
+ if (queue == NULL) {
+ queue = dispatch_get_main_queue();
+ }
+ performMethodOnDispatchQueue(method, context, queue, waitUntilDone);
+#else
+ performMethodOnMainThread(method, context, waitUntilDone);
+#endif
+}