diff options
author | avi@google.com <avi@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-23 16:57:36 +0000 |
---|---|---|
committer | avi@google.com <avi@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-23 16:57:36 +0000 |
commit | 095622382c96432f4c90e69eb7591ebe9e5e3d46 (patch) | |
tree | 5ee1d78b950af33c3b544ae911d0d4b40786a458 /base/file_version_info_mac.mm | |
parent | 40f52f0c52a82bc988bc95dc296ddfa89f09154a (diff) | |
download | chromium_src-095622382c96432f4c90e69eb7591ebe9e5e3d46.zip chromium_src-095622382c96432f4c90e69eb7591ebe9e5e3d46.tar.gz chromium_src-095622382c96432f4c90e69eb7591ebe9e5e3d46.tar.bz2 |
Add FilePath support to FileVersionInfo, fix Mac memory issues.
Review URL: http://codereview.chromium.org/15082
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7417 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/file_version_info_mac.mm')
-rw-r--r-- | base/file_version_info_mac.mm | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/base/file_version_info_mac.mm b/base/file_version_info_mac.mm index 62fe7e0..3813cc6 100644 --- a/base/file_version_info_mac.mm +++ b/base/file_version_info_mac.mm @@ -9,14 +9,8 @@ #include "base/logging.h" #include "base/string_util.h" -FileVersionInfo::FileVersionInfo(const std::wstring& file_path) { - NSString* path = [[NSString alloc] - initWithCString:reinterpret_cast<const char*>(file_path.c_str()) - encoding:NSUTF32StringEncoding]; - bundle_ = [NSBundle bundleWithPath: path]; -} - FileVersionInfo::FileVersionInfo(NSBundle *bundle) : bundle_(bundle) { + [bundle_ retain]; } FileVersionInfo::~FileVersionInfo() { @@ -34,7 +28,17 @@ FileVersionInfo* FileVersionInfo::CreateFileVersionInfoForCurrentModule() { // static FileVersionInfo* FileVersionInfo::CreateFileVersionInfo( const std::wstring& file_path) { - return new FileVersionInfo(file_path); + NSString* path = [NSString stringWithCString: + reinterpret_cast<const char*>(file_path.c_str()) + encoding:NSUTF32StringEncoding]; + return new FileVersionInfo([NSBundle bundleWithPath:path]); +} + +// static +FileVersionInfo* FileVersionInfo::CreateFileVersionInfo( + const FilePath& file_path) { + NSString* path = [NSString stringWithUTF8String:file_path.value().c_str()]; + return new FileVersionInfo([NSBundle bundleWithPath:path]); } std::wstring FileVersionInfo::company_name() { |