From 0aa6452b9d267656e9358230a6c5725e584dc4e8 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Tue, 20 Nov 2007 16:07:43 +0000 Subject: [PATCH] switch to cf implementation git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50109 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/mac/corefoundation/stdpaths_cf.cpp | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/mac/corefoundation/stdpaths_cf.cpp b/src/mac/corefoundation/stdpaths_cf.cpp index eeaa7453e5..928b6dc1ad 100644 --- a/src/mac/corefoundation/stdpaths_cf.cpp +++ b/src/mac/corefoundation/stdpaths_cf.cpp @@ -104,11 +104,7 @@ wxString wxStandardPathsCF::GetDocumentsDir() const #ifdef __WXMAC__ return wxMacFindFolderNoSeparator ( -#if TARGET_API_MAC_OSX kUserDomain, -#else - kOnSystemDisk, -#endif kDocumentsFolderType, kCreateFolder ); @@ -144,26 +140,39 @@ wxString wxStandardPathsCF::GetDataDir() const 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 -- 2.45.2