wxCHECK_MSG(absoluteURL, wxEmptyString, wxT("Failed to resolve relative URL to absolute URL"));
CFStringRef cfStrPath = CFURLCopyFileSystemPath(absoluteURL,kDefaultPathStyle);
CFRelease(absoluteURL);
- return wxMacCFStringHolder(cfStrPath).AsString(wxLocale::GetSystemEncoding());
+ return wxCFStringRef(cfStrPath).AsString(wxLocale::GetSystemEncoding());
}
wxString wxStandardPathsCF::GetFromFunc(wxCFURLRef (*func)(wxCFBundleRef)) const
#ifdef __WXMAC__
return wxMacFindFolderNoSeparator
(
-#if TARGET_API_MAC_OSX
kUserDomain,
-#else
- kOnSystemDisk,
-#endif
kDocumentsFolderType,
kCreateFolder
);
return GetFromFunc(CFBundleCopySharedSupportURL);
}
-// TODO: implement this using real CoreFoundation API instead of Carbon API
wxString wxStandardPathsCF::GetExecutablePath() const
{
#ifdef __WXMAC__
+#if 1
+ return GetFromFunc(CFBundleCopyBundleURL);
+#else
+ // TODO remove if cf implementation ok
ProcessInfoRec processinfo;
ProcessSerialNumber procno ;
+#ifdef __LP64__
+ FSRef fsRef;
+#else
FSSpec fsSpec;
-
+#endif
+
procno.highLongOfPSN = 0 ;
procno.lowLongOfPSN = kCurrentProcess ;
processinfo.processInfoLength = sizeof(ProcessInfoRec);
processinfo.processName = NULL;
+#ifdef __LP64__
+ processinfo.processAppRef = &fsRef;
+#else
processinfo.processAppSpec = &fsSpec;
-
+#endif
+
GetProcessInformation( &procno , &processinfo ) ;
#ifdef __LP64__
return wxMacFSRefToPath(&fsRef);
#else
return wxMacFSSpec2MacFilename(&fsSpec);
#endif
+#endif
+
#else
return wxStandardPathsBase::GetExecutablePath();
#endif