summaryrefslogtreecommitdiff
path: root/indra/llvfs/llvfs_objc.mm
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llvfs/llvfs_objc.mm')
-rw-r--r--indra/llvfs/llvfs_objc.mm23
1 files changed, 20 insertions, 3 deletions
diff --git a/indra/llvfs/llvfs_objc.mm b/indra/llvfs/llvfs_objc.mm
index 16cfefda26..4f9e2f81e9 100644
--- a/indra/llvfs/llvfs_objc.mm
+++ b/indra/llvfs/llvfs_objc.mm
@@ -32,16 +32,22 @@
std::string* getSystemTempFolder()
{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString * tempDir = NSTemporaryDirectory();
if (tempDir == nil)
tempDir = @"/tmp";
- return ( new std::string([tempDir UTF8String]) );
+ std::string *result = ( new std::string([tempDir UTF8String]) );
+ [pool release];
+
+ return result;
}
//findSystemDirectory scoped exclusively to this file.
std::string* findSystemDirectory(NSSearchPathDirectory searchPathDirectory,
NSSearchPathDomainMask domainMask)
{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
std::string *result;
NSString *path = nil;
@@ -60,19 +66,30 @@ std::string* findSystemDirectory(NSSearchPathDirectory searchPathDirectory,
result = new std::string([path UTF8String]);
}
+ [pool release];
return result;
}
std::string* getSystemExecutableFolder()
{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
NSString *bundlePath = [[NSBundle mainBundle] executablePath];
- return (new std::string([bundlePath UTF8String]));
+ std::string *result = (new std::string([bundlePath UTF8String]));
+ [pool release];
+
+ return result;
}
std::string* getSystemResourceFolder()
{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
NSString *bundlePath = [[NSBundle mainBundle] resourcePath];
- return (new std::string([bundlePath UTF8String]));
+ std::string *result = (new std::string([bundlePath UTF8String]));
+ [pool release];
+
+ return result;
}
std::string* getSystemCacheFolder()