aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/basetypes/MCAutoreleasePool.cc
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2013-05-04 16:12:07 -0700
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2013-05-04 16:46:41 -0700
commit729667252cd632357a3277ce1ef3220e5d61caf5 (patch)
tree6bf16f2122efcc7d9d260bc992bb96fc7d679e89 /src/core/basetypes/MCAutoreleasePool.cc
parent4f3dd27b20c155767100a0395553ad068135d750 (diff)
use NSAutoreleasePool on Mac/iOS to implement MCAutoreleasePool
Diffstat (limited to 'src/core/basetypes/MCAutoreleasePool.cc')
-rw-r--r--src/core/basetypes/MCAutoreleasePool.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/basetypes/MCAutoreleasePool.cc b/src/core/basetypes/MCAutoreleasePool.cc
index 80f3e1a4..8c351bdf 100644
--- a/src/core/basetypes/MCAutoreleasePool.cc
+++ b/src/core/basetypes/MCAutoreleasePool.cc
@@ -20,6 +20,10 @@ AutoreleasePool::AutoreleasePool()
{
mPoolObjects = carray_new(4);
+#if __APPLE__
+ mAppleAutoreleasePool = createAppleAutoreleasePool();
+#endif
+
unsigned int idx;
carray * stack = createAutoreleasePoolStackIfNeeded();
carray_add(stack, this, &idx);
@@ -27,6 +31,10 @@ AutoreleasePool::AutoreleasePool()
AutoreleasePool::~AutoreleasePool()
{
+#if __APPLE__
+ releaseAppleAutoreleasePool(mAppleAutoreleasePool);
+#endif
+
carray * stack = createAutoreleasePoolStackIfNeeded();
carray_delete_slow(stack, carray_count(stack) - 1);