summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2012-12-17 10:15:01 -0500
committerOz Linden <oz@lindenlab.com>2012-12-17 10:15:01 -0500
commit36222cfa8c6960372acf10938a16fefe2a210259 (patch)
treec4d4b65bdf3aa636c0c563b3c14a8e56e28951cb /indra
parent07dd6cf67e316797974d1e26961d0d63a4b40ef2 (diff)
parent7a6b073dcafc55838f9f1f82bd5f940052ec7690 (diff)
merge changes for DRTVWR-244
Diffstat (limited to 'indra')
-rw-r--r--indra/llvfs/llvfs_objc.mm23
-rw-r--r--indra/llvfs/tests/lldir_test.cpp2
-rw-r--r--indra/mac_updater/MacUpdaterAppDelegate.mm22
3 files changed, 41 insertions, 6 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()
diff --git a/indra/llvfs/tests/lldir_test.cpp b/indra/llvfs/tests/lldir_test.cpp
index 323f876c12..3cff622a4b 100644
--- a/indra/llvfs/tests/lldir_test.cpp
+++ b/indra/llvfs/tests/lldir_test.cpp
@@ -134,7 +134,7 @@ struct LLDir_Dummy: public LLDir
return 0;
}
- virtual BOOL fileExists(const std::string& pathname) const
+ virtual bool fileExists(const std::string& pathname) const
{
// Record fileExists() calls so we can check whether caching is
// working right. Certain LLDir calls should be able to make decisions
diff --git a/indra/mac_updater/MacUpdaterAppDelegate.mm b/indra/mac_updater/MacUpdaterAppDelegate.mm
index 3ddf8f9274..b6f95eef7e 100644
--- a/indra/mac_updater/MacUpdaterAppDelegate.mm
+++ b/indra/mac_updater/MacUpdaterAppDelegate.mm
@@ -126,6 +126,8 @@ void sendProgress(int cur, int max, const std::string str)
bool copyDir(const std::string& src_dir, const std::string& dest_dir)
{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
NSString* file = [NSString stringWithCString:src_dir.c_str()
encoding:[NSString defaultCStringEncoding]];
NSString* toParent = [NSString stringWithCString:dest_dir.c_str()
@@ -137,6 +139,8 @@ bool copyDir(const std::string& src_dir, const std::string& dest_dir)
if (!result) {
NSLog(@"Error during copy: %@", [error localizedDescription]);
}
+ [pool release];
+
return result;
}
@@ -178,26 +182,38 @@ bool copyDir(const std::string& src_dir, const std::string& dest_dir)
bool isDirWritable(const std::string& dir_name)
{
-
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
NSString *fullPath = [NSString stringWithCString:dir_name.c_str()
encoding:[NSString defaultCStringEncoding]];
NSFileManager *fm = [NSFileManager defaultManager];
bool result = [fm isWritableFileAtPath:fullPath];
+ [pool release];
return result;
}
std::string* getUserTrashFolder()
{
+ std::string *result;
+
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
NSString *trash_str=[NSHomeDirectory() stringByAppendingPathComponent:@".Trash"];
- return NSToString( trash_str );
+
+ result = NSToString( trash_str );
+
+ [pool release];
+ return result;
}
bool isFSRefViewerBundle(const std::string& targetURL)
{
bool result = false;
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
NSString *fullPath = [NSString stringWithCString:targetURL.c_str()
encoding:[NSString defaultCStringEncoding]];
NSBundle *targetBundle = [NSBundle bundleWithPath:fullPath];
@@ -212,6 +228,8 @@ bool isFSRefViewerBundle(const std::string& targetURL)
std::cout << "Target bundle ID mismatch." << std::endl;
}
+ [pool release];
+
return result;
}