From c75874e0d284020da217b640b812c140e6928cce Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 31 Oct 2019 23:49:04 +0100 Subject: [PATCH] Remove unused wxMacLaunch() and the file defining it This function, using Carbon API, is not used any longer since the changes of 5b6af7002c944c3328c0cabd1feb79bd125c033f, so remove it and also remove the file where it was defined as there is nothing remaining there any longer. See https://github.com/wxWidgets/wxWidgets/pull/1561 --- Makefile.in | 23 -- build/bakefiles/files.bkl | 1 - build/cmake/files.cmake | 1 - build/files | 1 - build/osx/wxcocoa.xcodeproj/project.pbxproj | 8 - build/osx/wxiphone.xcodeproj/project.pbxproj | 4 - src/osx/core/utilsexc_base.cpp | 229 ------------------- src/unix/utilsunx.cpp | 2 +- 8 files changed, 1 insertion(+), 268 deletions(-) delete mode 100644 src/osx/core/utilsexc_base.cpp diff --git a/Makefile.in b/Makefile.in index 8b829135fd..ce577fd5a1 100644 --- a/Makefile.in +++ b/Makefile.in @@ -2286,7 +2286,6 @@ COND_TOOLKIT_OSX_COCOA_BASE_OSX_SRC = \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ src/osx/core/strconv_cf.cpp \ - src/osx/core/utilsexc_base.cpp \ src/osx/cocoa/utils_base.mm \ src/osx/core/secretstore.cpp \ src/common/fdiodispatcher.cpp \ @@ -2312,7 +2311,6 @@ COND_TOOLKIT_OSX_IPHONE_BASE_OSX_SRC = \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ src/osx/core/strconv_cf.cpp \ - src/osx/core/utilsexc_base.cpp \ src/osx/cocoa/utils_base.mm \ src/osx/core/secretstore.cpp \ src/common/fdiodispatcher.cpp \ @@ -2353,7 +2351,6 @@ COND_TOOLKIT_COCOA_BASE_OSX_SRC = \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ src/osx/core/strconv_cf.cpp \ - src/osx/core/utilsexc_base.cpp \ src/osx/cocoa/utils_base.mm \ src/osx/core/secretstore.cpp @COND_TOOLKIT_COCOA@BASE_OSX_SRC = $(COND_TOOLKIT_COCOA_BASE_OSX_SRC) @@ -2377,7 +2374,6 @@ COND_TOOLKIT_GTK_BASE_OSX_SRC = \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ src/osx/core/strconv_cf.cpp \ - src/osx/core/utilsexc_base.cpp \ src/osx/cocoa/utils_base.mm \ src/osx/core/secretstore.cpp @COND_TOOLKIT_GTK@BASE_OSX_SRC = $(COND_TOOLKIT_GTK_BASE_OSX_SRC) @@ -2401,7 +2397,6 @@ COND_TOOLKIT_X11_BASE_OSX_SRC = \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ src/osx/core/strconv_cf.cpp \ - src/osx/core/utilsexc_base.cpp \ src/osx/cocoa/utils_base.mm \ src/osx/core/secretstore.cpp @COND_TOOLKIT_X11@BASE_OSX_SRC = $(COND_TOOLKIT_X11_BASE_OSX_SRC) @@ -2425,7 +2420,6 @@ COND_TOOLKIT_MOTIF_BASE_OSX_SRC = \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ src/osx/core/strconv_cf.cpp \ - src/osx/core/utilsexc_base.cpp \ src/osx/cocoa/utils_base.mm \ src/osx/core/secretstore.cpp @COND_TOOLKIT_MOTIF@BASE_OSX_SRC = $(COND_TOOLKIT_MOTIF_BASE_OSX_SRC) @@ -2449,7 +2443,6 @@ COND_TOOLKIT__BASE_OSX_SRC = \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ src/osx/core/strconv_cf.cpp \ - src/osx/core/utilsexc_base.cpp \ src/osx/cocoa/utils_base.mm \ src/osx/core/secretstore.cpp @COND_TOOLKIT_@BASE_OSX_SRC = $(COND_TOOLKIT__BASE_OSX_SRC) @@ -4185,7 +4178,6 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS = \ monodll_cfstring.o \ monodll_evtloop_cf.o \ monodll_strconv_cf.o \ - monodll_utilsexc_base.o \ monodll_utils_base.o \ monodll_core_secretstore.o \ monodll_fdiodispatcher.o \ @@ -6172,7 +6164,6 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_1 = \ monolib_cfstring.o \ monolib_evtloop_cf.o \ monolib_strconv_cf.o \ - monolib_utilsexc_base.o \ monolib_utils_base.o \ monolib_core_secretstore.o \ monolib_fdiodispatcher.o \ @@ -8211,7 +8202,6 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_2 = \ basedll_cfstring.o \ basedll_evtloop_cf.o \ basedll_strconv_cf.o \ - basedll_utilsexc_base.o \ basedll_utils_base.o \ basedll_core_secretstore.o \ basedll_fdiodispatcher.o \ @@ -8295,7 +8285,6 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_3 = \ baselib_cfstring.o \ baselib_evtloop_cf.o \ baselib_strconv_cf.o \ - baselib_utilsexc_base.o \ baselib_utils_base.o \ baselib_core_secretstore.o \ baselib_fdiodispatcher.o \ @@ -15895,9 +15884,6 @@ monodll_evtloop_cf.o: $(srcdir)/src/osx/core/evtloop_cf.cpp $(MONODLL_ODEP) monodll_strconv_cf.o: $(srcdir)/src/osx/core/strconv_cf.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/core/strconv_cf.cpp -monodll_utilsexc_base.o: $(srcdir)/src/osx/core/utilsexc_base.cpp $(MONODLL_ODEP) - $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/core/utilsexc_base.cpp - monodll_utils_base.o: $(srcdir)/src/osx/cocoa/utils_base.mm $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/utils_base.mm @@ -21166,9 +21152,6 @@ monolib_evtloop_cf.o: $(srcdir)/src/osx/core/evtloop_cf.cpp $(MONOLIB_ODEP) monolib_strconv_cf.o: $(srcdir)/src/osx/core/strconv_cf.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/core/strconv_cf.cpp -monolib_utilsexc_base.o: $(srcdir)/src/osx/core/utilsexc_base.cpp $(MONOLIB_ODEP) - $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/core/utilsexc_base.cpp - monolib_utils_base.o: $(srcdir)/src/osx/cocoa/utils_base.mm $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/utils_base.mm @@ -26437,9 +26420,6 @@ basedll_evtloop_cf.o: $(srcdir)/src/osx/core/evtloop_cf.cpp $(BASEDLL_ODEP) basedll_strconv_cf.o: $(srcdir)/src/osx/core/strconv_cf.cpp $(BASEDLL_ODEP) $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/osx/core/strconv_cf.cpp -basedll_utilsexc_base.o: $(srcdir)/src/osx/core/utilsexc_base.cpp $(BASEDLL_ODEP) - $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/osx/core/utilsexc_base.cpp - basedll_utils_base.o: $(srcdir)/src/osx/cocoa/utils_base.mm $(BASEDLL_ODEP) $(CXXC) -c -o $@ $(BASEDLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/utils_base.mm @@ -26914,9 +26894,6 @@ baselib_evtloop_cf.o: $(srcdir)/src/osx/core/evtloop_cf.cpp $(BASELIB_ODEP) baselib_strconv_cf.o: $(srcdir)/src/osx/core/strconv_cf.cpp $(BASELIB_ODEP) $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/osx/core/strconv_cf.cpp -baselib_utilsexc_base.o: $(srcdir)/src/osx/core/utilsexc_base.cpp $(BASELIB_ODEP) - $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/osx/core/utilsexc_base.cpp - baselib_utils_base.o: $(srcdir)/src/osx/cocoa/utils_base.mm $(BASELIB_ODEP) $(CXXC) -c -o $@ $(BASELIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/utils_base.mm diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index 01e9201a68..16f040b93b 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -185,7 +185,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/osx/core/cfstring.cpp src/osx/core/evtloop_cf.cpp src/osx/core/strconv_cf.cpp - src/osx/core/utilsexc_base.cpp src/osx/cocoa/utils_base.mm src/osx/core/secretstore.cpp diff --git a/build/cmake/files.cmake b/build/cmake/files.cmake index 9ab246ab81..49c01f7c49 100644 --- a/build/cmake/files.cmake +++ b/build/cmake/files.cmake @@ -113,7 +113,6 @@ set(BASE_COREFOUNDATION_SRC src/osx/core/evtloop_cf.cpp src/osx/core/secretstore.cpp src/osx/core/strconv_cf.cpp - src/osx/core/utilsexc_base.cpp src/osx/cocoa/utils_base.mm ) diff --git a/build/files b/build/files index e07a42fbc7..7cde92cd14 100644 --- a/build/files +++ b/build/files @@ -139,7 +139,6 @@ BASE_COREFOUNDATION_SRC = src/osx/core/evtloop_cf.cpp src/osx/core/secretstore.cpp src/osx/core/strconv_cf.cpp - src/osx/core/utilsexc_base.cpp src/osx/cocoa/utils_base.mm BASE_COREFOUNDATION_HDR = diff --git a/build/osx/wxcocoa.xcodeproj/project.pbxproj b/build/osx/wxcocoa.xcodeproj/project.pbxproj index 69cf2c48ae..683c990c30 100644 --- a/build/osx/wxcocoa.xcodeproj/project.pbxproj +++ b/build/osx/wxcocoa.xcodeproj/project.pbxproj @@ -980,9 +980,6 @@ 4DD98A9436C83CF3B9425A78 /* sysopt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F32F6B47EBB23068B1FCDC0D /* sysopt.cpp */; }; 4DD98A9436C83CF3B9425A79 /* sysopt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F32F6B47EBB23068B1FCDC0D /* sysopt.cpp */; }; 4DD98A9436C83CF3B9425A7A /* sysopt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F32F6B47EBB23068B1FCDC0D /* sysopt.cpp */; }; - 4E140367282F38C8A904A004 /* utilsexc_base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81390F96937631078EFCD891 /* utilsexc_base.cpp */; }; - 4E140367282F38C8A904A005 /* utilsexc_base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81390F96937631078EFCD891 /* utilsexc_base.cpp */; }; - 4E140367282F38C8A904A006 /* utilsexc_base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81390F96937631078EFCD891 /* utilsexc_base.cpp */; }; 4E2737AC738431EB9898B8B6 /* gzwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 1E4E3EB1CCA53E0EA322A1AF /* gzwrite.c */; }; 4E2737AC738431EB9898B8B7 /* gzwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 1E4E3EB1CCA53E0EA322A1AF /* gzwrite.c */; }; 4E2737AC738431EB9898B8B8 /* gzwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 1E4E3EB1CCA53E0EA322A1AF /* gzwrite.c */; }; @@ -4334,7 +4331,6 @@ 7FE0455EBDC63D82B2D88587 /* jcprepct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = ../../src/jpeg/jcprepct.c; sourceTree = ""; }; 810EB7316DF3344197C78EC0 /* jcmainct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = ../../src/jpeg/jcmainct.c; sourceTree = ""; }; 81122210DB7A350983E32AEC /* libwx_osx_cocoau_aui.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libwx_osx_cocoau_aui.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; - 81390F96937631078EFCD891 /* utilsexc_base.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = utilsexc_base.cpp; path = ../../src/osx/core/utilsexc_base.cpp; sourceTree = ""; }; 81708CFA21A03013ACB8DDD7 /* checkbox.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = checkbox.mm; path = ../../src/osx/cocoa/checkbox.mm; sourceTree = ""; }; 81821049E39B32C6ABCF6820 /* helpdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = helpdlg.cpp; path = ../../src/html/helpdlg.cpp; sourceTree = ""; }; 81A30C745CA73E30B788B408 /* image.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = image.cpp; path = ../../src/common/image.cpp; sourceTree = ""; }; @@ -6063,7 +6059,6 @@ 5168ADF7BE39351F8F24E1E6 /* cfstring.cpp */, 5BD6231188AB329CAA5E1171 /* evtloop_cf.cpp */, D5F9383D1CE931499F339D85 /* strconv_cf.cpp */, - 81390F96937631078EFCD891 /* utilsexc_base.cpp */, 2ED0C0702D2734D9B08FC31D /* utils_base.mm */, 5BE1FB352696346BB642C045 /* secretstore.cpp */, 47F784C2BB5A3B5DAD276583 /* fdiodispatcher.cpp */, @@ -7469,7 +7464,6 @@ 1DBDF75500D73A3098015E81 /* cfstring.cpp in Sources */, 9FBC642677C63D01AA2511BE /* evtloop_cf.cpp in Sources */, AAAB5DF8E60736D88273DD00 /* strconv_cf.cpp in Sources */, - 4E140367282F38C8A904A006 /* utilsexc_base.cpp in Sources */, 68C300D096BF39239876D045 /* utils_base.mm in Sources */, B0FD1B96EAE635AFBFCF2C96 /* secretstore.cpp in Sources */, D36E76A4CAF5352D9397E201 /* fdiodispatcher.cpp in Sources */, @@ -8184,7 +8178,6 @@ 1DBDF75500D73A3098015E80 /* cfstring.cpp in Sources */, 9FBC642677C63D01AA2511BD /* evtloop_cf.cpp in Sources */, AAAB5DF8E60736D88273DCFF /* strconv_cf.cpp in Sources */, - 4E140367282F38C8A904A005 /* utilsexc_base.cpp in Sources */, 68C300D096BF39239876D044 /* utils_base.mm in Sources */, B0FD1B96EAE635AFBFCF2C95 /* secretstore.cpp in Sources */, D36E76A4CAF5352D9397E200 /* fdiodispatcher.cpp in Sources */, @@ -9412,7 +9405,6 @@ 1DBDF75500D73A3098015E7F /* cfstring.cpp in Sources */, 9FBC642677C63D01AA2511BC /* evtloop_cf.cpp in Sources */, AAAB5DF8E60736D88273DCFE /* strconv_cf.cpp in Sources */, - 4E140367282F38C8A904A004 /* utilsexc_base.cpp in Sources */, 68C300D096BF39239876D043 /* utils_base.mm in Sources */, B0FD1B96EAE635AFBFCF2C94 /* secretstore.cpp in Sources */, D36E76A4CAF5352D9397E1FF /* fdiodispatcher.cpp in Sources */, diff --git a/build/osx/wxiphone.xcodeproj/project.pbxproj b/build/osx/wxiphone.xcodeproj/project.pbxproj index 669898e404..e64d711aae 100644 --- a/build/osx/wxiphone.xcodeproj/project.pbxproj +++ b/build/osx/wxiphone.xcodeproj/project.pbxproj @@ -274,7 +274,6 @@ 4D0BA8B9F72C3C31BC170CE2 /* progdlgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEA102FF0FFC33DEAEF2FE14 /* progdlgg.cpp */; }; 4DA209AEF4AD32AAB97F9718 /* htmlcell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68E5188DB6003C35A8C7754D /* htmlcell.cpp */; }; 4DD98A9436C83CF3B9425A78 /* sysopt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F32F6B47EBB23068B1FCDC0D /* sysopt.cpp */; }; - 4E140367282F38C8A904A004 /* utilsexc_base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81390F96937631078EFCD891 /* utilsexc_base.cpp */; }; 4E2737AC738431EB9898B8B6 /* gzwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 1E4E3EB1CCA53E0EA322A1AF /* gzwrite.c */; }; 4E396D8D2E9138D797F320C6 /* tif_aux.c in Sources */ = {isa = PBXBuildFile; fileRef = D0CDADAF2D893E32A38351E4 /* tif_aux.c */; }; 502D7B786EAE383B9546F31F /* LexRust.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 24BD2EF635673E819B8406CB /* LexRust.cxx */; }; @@ -1277,7 +1276,6 @@ 7FCA75FE592C3469AE351FBF /* winpars.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = winpars.cpp; path = ../../src/html/winpars.cpp; sourceTree = ""; }; 7FE0455EBDC63D82B2D88587 /* jcprepct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = ../../src/jpeg/jcprepct.c; sourceTree = ""; }; 810EB7316DF3344197C78EC0 /* jcmainct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = ../../src/jpeg/jcmainct.c; sourceTree = ""; }; - 81390F96937631078EFCD891 /* utilsexc_base.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = utilsexc_base.cpp; path = ../../src/osx/core/utilsexc_base.cpp; sourceTree = ""; }; 81708CFA21A03013ACB8DDD7 /* checkbox.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = checkbox.mm; path = ../../src/osx/iphone/checkbox.mm; sourceTree = ""; }; 81821049E39B32C6ABCF6820 /* helpdlg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = helpdlg.cpp; path = ../../src/html/helpdlg.cpp; sourceTree = ""; }; 81A30C745CA73E30B788B408 /* image.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = image.cpp; path = ../../src/common/image.cpp; sourceTree = ""; }; @@ -2653,7 +2651,6 @@ 5168ADF7BE39351F8F24E1E6 /* cfstring.cpp */, 5BD6231188AB329CAA5E1171 /* evtloop_cf.cpp */, D5F9383D1CE931499F339D85 /* strconv_cf.cpp */, - 81390F96937631078EFCD891 /* utilsexc_base.cpp */, 2ED0C0702D2734D9B08FC31D /* utils_base.mm */, 5BE1FB352696346BB642C045 /* secretstore.cpp */, 47F784C2BB5A3B5DAD276583 /* fdiodispatcher.cpp */, @@ -2968,7 +2965,6 @@ 1DBDF75500D73A3098015E7F /* cfstring.cpp in Sources */, 9FBC642677C63D01AA2511BC /* evtloop_cf.cpp in Sources */, AAAB5DF8E60736D88273DCFE /* strconv_cf.cpp in Sources */, - 4E140367282F38C8A904A004 /* utilsexc_base.cpp in Sources */, 68C300D096BF39239876D043 /* utils_base.mm in Sources */, B0FD1B96EAE635AFBFCF2C92 /* secretstore.cpp in Sources */, D36E76A4CAF5352D9397E1FF /* fdiodispatcher.cpp in Sources */, diff --git a/src/osx/core/utilsexc_base.cpp b/src/osx/core/utilsexc_base.cpp deleted file mode 100644 index 94b8f0974a..0000000000 --- a/src/osx/core/utilsexc_base.cpp +++ /dev/null @@ -1,229 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/core/utilsexc_base.cpp -// Purpose: wxMacLaunch -// Author: Ryan Norton -// Modified by: -// Created: 2005-06-21 -// Copyright: (c) Ryan Norton -// Licence: wxWindows licence -// Notes: Source was originally in utilsexc_cf.cpp,1.6 then moved -// to totally unrelated hid.cpp,1.8. -///////////////////////////////////////////////////////////////////////////// - -//=========================================================================== -// DECLARATIONS -//=========================================================================== - -//--------------------------------------------------------------------------- -// Pre-compiled header stuff -//--------------------------------------------------------------------------- - -// For compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" - -// WX includes -#ifndef WX_PRECOMP - #include "wx/string.h" - #include "wx/log.h" - #include "wx/intl.h" - #include "wx/utils.h" - #include "wx/wxcrt.h" -#endif // WX_PRECOMP - -// Mac Includes -#include -#ifndef __WXOSX_IPHONE__ -#include -#endif - -// More WX Includes -#include "wx/filename.h" -#include "wx/osx/core/cfstring.h" -#include "wx/osx/core/private.h" - -#if ( !wxUSE_GUI && !wxOSX_USE_IPHONE ) || wxOSX_USE_COCOA_OR_CARBON - -//=========================================================================== -// IMPLEMENTATION -//=========================================================================== - -//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// -// wxMacLaunch -// -// argv is the command line split up, with the application path first -// flags are the flags from wxExecute -// process is the process passed from wxExecute for pipe streams etc. -// returns -1 on error for wxEXEC_SYNC and 0 on error for wxEXEC_ASYNC -//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -bool wxMacLaunch(const char* const* argv) -{ - // Obtains the number of arguments for determining the size of - // the CFArray used to hold them - CFIndex cfiCount = 0; - for (const char* const* argvcopy = argv; *argvcopy != NULL; ++argvcopy) - { - ++cfiCount; - } - - // If there is not a single argument then there is no application - // to launch - if(cfiCount == 0) - { - wxLogDebug(wxT("wxMacLaunch No file to launch!")); - return false ; - } - - // Path to bundle - wxString path = *argv++; - - // Create a CFURL for the application path - // Created this way because we are opening a bundle which is a directory - CFURLRef cfurlApp = - CFURLCreateWithFileSystemPath( - kCFAllocatorDefault, - wxCFStringRef(path), - kCFURLPOSIXPathStyle, - true); //false == not a directory - - // Check for error from the CFURL - if(!cfurlApp) - { - wxLogDebug(wxT("wxMacLaunch Can't open path: %s"), path.c_str()); - return false ; - } - - // Create a CFBundle from the CFURL created earlier - CFBundleRef cfbApp = CFBundleCreate(kCFAllocatorDefault, cfurlApp); - - // Check to see if CFBundleCreate returned an error, - // and if it did this was an invalid bundle or not a bundle - // at all (maybe a simple directory etc.) - if(!cfbApp) - { - wxLogDebug(wxT("wxMacLaunch Bad bundle: %s"), path.c_str()); - CFRelease(cfurlApp); - return false ; - } - - // Get the bundle type and make sure its an 'APPL' bundle - // Otherwise we're dealing with something else here... - UInt32 dwBundleType, dwBundleCreator; - CFBundleGetPackageInfo(cfbApp, &dwBundleType, &dwBundleCreator); - if(dwBundleType != 'APPL') - { - wxLogDebug(wxT("wxMacLaunch Not an APPL bundle: %s"), path.c_str()); - CFRelease(cfbApp); - CFRelease(cfurlApp); - return false ; - } - - // Create a CFArray for dealing with the command line - // arguments to the bundle - CFMutableArrayRef cfaFiles = CFArrayCreateMutable(kCFAllocatorDefault, - cfiCount-1, &kCFTypeArrayCallBacks); - if(!cfaFiles) //This should never happen - { - wxLogDebug(wxT("wxMacLaunch Could not create CFMutableArray")); - CFRelease(cfbApp); - CFRelease(cfurlApp); - return false ; - } - - // Loop through command line arguments to the bundle, - // turn them into CFURLs and then put them in cfaFiles - // For use to launch services call - for( ; *argv != NULL ; ++argv) - { - // Check for '<' as this will ring true for - // CFURLCreateWithString but is generally not considered - // typical on mac but is usually passed here from wxExecute - if (wxStrcmp(*argv, wxT("<")) == 0) - continue; - - - CFURLRef cfurlCurrentFile; // CFURL to hold file path - wxFileName argfn(*argv); // Filename for path - - if(argfn.DirExists()) - { - // First, try creating as a directory - cfurlCurrentFile = CFURLCreateWithFileSystemPath( - kCFAllocatorDefault, - wxCFStringRef(*argv), - kCFURLPOSIXPathStyle, - true); //true == directory - } - else if(argfn.FileExists()) - { - // And if it isn't a directory try creating it - // as a regular file - cfurlCurrentFile = CFURLCreateWithFileSystemPath( - kCFAllocatorDefault, - wxCFStringRef(*argv), - kCFURLPOSIXPathStyle, - false); //false == regular file - } - else - { - // Argument did not refer to - // an entry in the local filesystem, - // so try creating it through CFURLCreateWithString - cfurlCurrentFile = CFURLCreateWithString( - kCFAllocatorDefault, - wxCFStringRef(*argv), - NULL); - } - - // Continue in the loop if the CFURL could not be created - if(!cfurlCurrentFile) - { - wxLogDebug( - wxT("wxMacLaunch Could not create CFURL for argument:%s"), - *argv); - continue; - } - - // Add the valid CFURL to the argument array and then - // release it as the CFArray adds a ref count to it - CFArrayAppendValue( - cfaFiles, - cfurlCurrentFile - ); - CFRelease(cfurlCurrentFile); // array has retained it - } - - // Create a LSLaunchURLSpec for use with LSOpenFromURLSpec - // Note that there are several flag options (launchFlags) such - // as kLSLaunchDontSwitch etc. and maybe we could be more - // picky about the flags we choose - LSLaunchURLSpec launchspec; - launchspec.appURL = cfurlApp; - launchspec.itemURLs = cfaFiles; - launchspec.passThruParams = NULL; //AEDesc* - launchspec.launchFlags = kLSLaunchDefaults; - launchspec.asyncRefCon = NULL; - - // Finally, call LSOpenFromURL spec with our arguments - // 2nd parameter is a pointer to a CFURL that gets - // the actual path launched by the function - OSStatus status = LSOpenFromURLSpec(&launchspec, NULL); - - // Cleanup corefoundation references - CFRelease(cfbApp); - CFRelease(cfurlApp); - CFRelease(cfaFiles); - - // Check for error from LSOpenFromURLSpec - if(status != noErr) - { - wxLogDebug(wxT("wxMacLaunch LSOpenFromURLSpec Error: %d"), - (int)status); - return false ; - } - - // No error from LSOpenFromURLSpec, so app was launched - return true ; -} - -#endif // wxOSX_USE_COCOA_OR_CARBON diff --git a/src/unix/utilsunx.cpp b/src/unix/utilsunx.cpp index 50803d6a12..4cd0d6ade3 100644 --- a/src/unix/utilsunx.cpp +++ b/src/unix/utilsunx.cpp @@ -1120,7 +1120,7 @@ wxLinuxDistributionInfo wxGetLinuxDistributionInfo() } #endif // __LINUX__ -// these functions are in src/osx/utilsexc_base.cpp for wxMac +// these functions are in src/osx/utils_base.mm for wxOSX. #ifndef __DARWIN__ wxOperatingSystemId wxGetOsVersion(int *verMaj, int *verMin, int *verMicro)