From e506b2dec68e369d1ca79b1ac66f14e8a81291f3 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Sat, 1 Sep 2018 06:14:35 +0200 Subject: [PATCH 1/3] Redesign the project files ...to accommodate for future expansion. --- build/wxExtend.props | 64 +++++++ build/wxExtendDll-10.0.vcxproj | 78 +++++++++ ...lters => wxExtendDll-10.0.vcxproj.filters} | 0 build/wxExtendDll.props | 18 +- build/wxExtendDll.vcxproj | 163 ------------------ ...ndLib.vcxproj => wxExtendLib-10.0.vcxproj} | 77 --------- ...lters => wxExtendLib-10.0.vcxproj.filters} | 0 build/wxExtendLib.props | 2 + wxExtend.sln => wxExtend-10.0.sln | 4 +- 9 files changed, 163 insertions(+), 243 deletions(-) create mode 100644 build/wxExtendDll-10.0.vcxproj rename build/{wxExtendDll.vcxproj.filters => wxExtendDll-10.0.vcxproj.filters} (100%) delete mode 100644 build/wxExtendDll.vcxproj rename build/{wxExtendLib.vcxproj => wxExtendLib-10.0.vcxproj} (53%) rename build/{wxExtendLib.vcxproj.filters => wxExtendLib-10.0.vcxproj.filters} (100%) rename wxExtend.sln => wxExtend-10.0.sln (91%) diff --git a/build/wxExtend.props b/build/wxExtend.props index b110028..cd4b458 100644 --- a/build/wxExtend.props +++ b/build/wxExtend.props @@ -17,4 +17,68 @@ $(wxExtendVersion) + + + + + + + + Create + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/wxExtendDll-10.0.vcxproj b/build/wxExtendDll-10.0.vcxproj new file mode 100644 index 0000000..32ffb97 --- /dev/null +++ b/build/wxExtendDll-10.0.vcxproj @@ -0,0 +1,78 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {A3A36689-AC35-4026-93DA-A3BA0C0E767C} + wxExtend + wxExtend + + + + DynamicLibrary + true + Unicode + + + DynamicLibrary + true + Unicode + + + DynamicLibrary + false + true + Unicode + + + DynamicLibrary + false + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/wxExtendDll.vcxproj.filters b/build/wxExtendDll-10.0.vcxproj.filters similarity index 100% rename from build/wxExtendDll.vcxproj.filters rename to build/wxExtendDll-10.0.vcxproj.filters diff --git a/build/wxExtendDll.props b/build/wxExtendDll.props index 7aff24d..65559bd 100644 --- a/build/wxExtendDll.props +++ b/build/wxExtendDll.props @@ -1,14 +1,30 @@  + + + + $(ProjectName)$(wxExtendVersion)ud_vc$(PlatformToolsetVersion) + + + $(ProjectName)$(wxExtendVersion)ud_vc$(PlatformToolsetVersion)_$(Platform) + + + $(ProjectName)$(wxExtendVersion)u_vc$(PlatformToolsetVersion) + + + $(ProjectName)$(wxExtendVersion)u_vc$(PlatformToolsetVersion)_$(Platform) + WXEXTEND_DLL;%(PreprocessorDefinitions) - + + + \ No newline at end of file diff --git a/build/wxExtendDll.vcxproj b/build/wxExtendDll.vcxproj deleted file mode 100644 index ed4fff3..0000000 --- a/build/wxExtendDll.vcxproj +++ /dev/null @@ -1,163 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - - - - - - - Create - Create - Create - Create - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {A3A36689-AC35-4026-93DA-A3BA0C0E767C} - wxExtend - wxExtend - - - - DynamicLibrary - true - Unicode - - - DynamicLibrary - true - Unicode - - - DynamicLibrary - false - true - Unicode - - - DynamicLibrary - false - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $(ProjectName)$(wxExtendVersion)ud_vc$(PlatformToolsetVersion) - - - $(ProjectName)$(wxExtendVersion)ud_vc$(PlatformToolsetVersion)_$(Platform) - - - $(ProjectName)$(wxExtendVersion)u_vc$(PlatformToolsetVersion) - - - $(ProjectName)$(wxExtendVersion)u_vc$(PlatformToolsetVersion)_$(Platform) - - - - - - - \ No newline at end of file diff --git a/build/wxExtendLib.vcxproj b/build/wxExtendLib-10.0.vcxproj similarity index 53% rename from build/wxExtendLib.vcxproj rename to build/wxExtendLib-10.0.vcxproj index 09ae51f..120d488 100644 --- a/build/wxExtendLib.vcxproj +++ b/build/wxExtendLib-10.0.vcxproj @@ -18,75 +18,6 @@ x64 - - - - - - - - Create - Create - Create - Create - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {D3E29951-D9F5-486D-A167-20AE8E90B1FA} wxExtend @@ -120,26 +51,18 @@ - - - - - - - - diff --git a/build/wxExtendLib.vcxproj.filters b/build/wxExtendLib-10.0.vcxproj.filters similarity index 100% rename from build/wxExtendLib.vcxproj.filters rename to build/wxExtendLib-10.0.vcxproj.filters diff --git a/build/wxExtendLib.props b/build/wxExtendLib.props index 9a6fcf7..8f02212 100644 --- a/build/wxExtendLib.props +++ b/build/wxExtendLib.props @@ -1,6 +1,8 @@  + + diff --git a/wxExtend.sln b/wxExtend-10.0.sln similarity index 91% rename from wxExtend.sln rename to wxExtend-10.0.sln index 92c64df..429345e 100644 --- a/wxExtend.sln +++ b/wxExtend-10.0.sln @@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{14D5FE5B-9742-4D1F-A1E0-32E694B94AAB}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "build\wxExtendLib.vcxproj", "{D3E29951-D9F5-486D-A167-20AE8E90B1FA}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "build\wxExtendLib-10.0.vcxproj", "{D3E29951-D9F5-486D-A167-20AE8E90B1FA}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "build\wxExtendDll.vcxproj", "{A3A36689-AC35-4026-93DA-A3BA0C0E767C}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "build\wxExtendDll-10.0.vcxproj", "{A3A36689-AC35-4026-93DA-A3BA0C0E767C}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution From 732f180117928777a2cdd290ce6a4385ccfb1f5a Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Sat, 1 Sep 2018 06:41:36 +0200 Subject: [PATCH 2/3] Add support for VC2017 --- .gitignore | 1 + build/wxExtendDll-15.0.vcxproj | 83 ++++++++++ build/wxExtendDll-15.0.vcxproj.filters | 202 +++++++++++++++++++++++++ build/wxExtendLib-15.0.vcxproj | 83 ++++++++++ build/wxExtendLib-15.0.vcxproj.filters | 194 ++++++++++++++++++++++++ wxExtend-15.0.sln | 43 ++++++ 6 files changed, 606 insertions(+) create mode 100644 build/wxExtendDll-15.0.vcxproj create mode 100644 build/wxExtendDll-15.0.vcxproj.filters create mode 100644 build/wxExtendLib-15.0.vcxproj create mode 100644 build/wxExtendLib-15.0.vcxproj.filters create mode 100644 wxExtend-15.0.sln diff --git a/.gitignore b/.gitignore index 3a2bb0d..601ff47 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /*.opensdf /*.suo /*.sdf +/.vs /doc /ipch diff --git a/build/wxExtendDll-15.0.vcxproj b/build/wxExtendDll-15.0.vcxproj new file mode 100644 index 0000000..3dcb14f --- /dev/null +++ b/build/wxExtendDll-15.0.vcxproj @@ -0,0 +1,83 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {A3A36689-AC35-4026-93DA-A3BA0C0E767C} + wxExtend + wxExtend + 10.0.17134.0 + + + + DynamicLibrary + true + Unicode + v141 + + + DynamicLibrary + true + Unicode + v141 + + + DynamicLibrary + false + true + Unicode + v141 + + + DynamicLibrary + false + true + Unicode + v141 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/wxExtendDll-15.0.vcxproj.filters b/build/wxExtendDll-15.0.vcxproj.filters new file mode 100644 index 0000000..1f92ab5 --- /dev/null +++ b/build/wxExtendDll-15.0.vcxproj.filters @@ -0,0 +1,202 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {e43059ae-37ac-4b28-84fb-18d1b3972b30} + po;pot + + + {33d4709f-47d3-42c1-9562-bc4743799b49} + + + {be99b1e7-e013-4c69-8966-6b34932a1711} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files\persist + + + Header Files\persist + + + Header Files + + + Header Files + + + Header Files + + + Header Files\aui + + + Header Files + + + + + Resource Files\Localization + + + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + + + Resource Files + + + \ No newline at end of file diff --git a/build/wxExtendLib-15.0.vcxproj b/build/wxExtendLib-15.0.vcxproj new file mode 100644 index 0000000..68418e6 --- /dev/null +++ b/build/wxExtendLib-15.0.vcxproj @@ -0,0 +1,83 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {D3E29951-D9F5-486D-A167-20AE8E90B1FA} + wxExtend + wxExtend + 10.0.17134.0 + + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + true + Unicode + v141 + + + StaticLibrary + false + true + Unicode + v141 + + + StaticLibrary + false + true + Unicode + v141 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/wxExtendLib-15.0.vcxproj.filters b/build/wxExtendLib-15.0.vcxproj.filters new file mode 100644 index 0000000..ff50048 --- /dev/null +++ b/build/wxExtendLib-15.0.vcxproj.filters @@ -0,0 +1,194 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {e43059ae-37ac-4b28-84fb-18d1b3972b30} + po;pot + + + {33d4709f-47d3-42c1-9562-bc4743799b49} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files\persist + + + Header Files\persist + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Resource Files\Localization + + + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + Resource Files\Localization + + + \ No newline at end of file diff --git a/wxExtend-15.0.sln b/wxExtend-15.0.sln new file mode 100644 index 0000000..5cea70c --- /dev/null +++ b/wxExtend-15.0.sln @@ -0,0 +1,43 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28010.2016 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{14D5FE5B-9742-4D1F-A1E0-32E694B94AAB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "build\wxExtendLib-15.0.vcxproj", "{D3E29951-D9F5-486D-A167-20AE8E90B1FA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "build\wxExtendDll-15.0.vcxproj", "{A3A36689-AC35-4026-93DA-A3BA0C0E767C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x64.ActiveCfg = Debug|x64 + {D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x64.Build.0 = Debug|x64 + {D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x86.ActiveCfg = Debug|Win32 + {D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x86.Build.0 = Debug|Win32 + {D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x64.ActiveCfg = Release|x64 + {D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x64.Build.0 = Release|x64 + {D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x86.ActiveCfg = Release|Win32 + {D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x86.Build.0 = Release|Win32 + {A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|x64.ActiveCfg = Debug|x64 + {A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|x64.Build.0 = Debug|x64 + {A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|x86.ActiveCfg = Debug|Win32 + {A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Debug|x86.Build.0 = Debug|Win32 + {A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|x64.ActiveCfg = Release|x64 + {A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|x64.Build.0 = Release|x64 + {A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|x86.ActiveCfg = Release|Win32 + {A3A36689-AC35-4026-93DA-A3BA0C0E767C}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {705D41BE-8FE1-4AC6-8E11-A09403E777C5} + EndGlobalSection +EndGlobal From 37eae89d67d882a5588a24b9f5a405359f797069 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Mon, 3 Sep 2018 11:35:39 +0200 Subject: [PATCH 3/3] Tolerate RPC_E_CHANGED_MODE on COM initialization --- include/wxex/comutils.h | 4 ++-- src/comutils.cpp | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/include/wxex/comutils.h b/include/wxex/comutils.h index 20d0167..9b27ae4 100644 --- a/include/wxex/comutils.h +++ b/include/wxex/comutils.h @@ -1,5 +1,5 @@ /* - Copyright 2016-2017 Amebis + Copyright 2016-2018 Amebis Copyright 2016 GÉANT This file is part of wxExtend. @@ -62,7 +62,7 @@ public: operator bool() const { return m_ok; } private: - bool m_ok; + bool m_ok, m_initialized; }; /// @} diff --git a/src/comutils.cpp b/src/comutils.cpp index 89ab9bd..3528c8d 100644 --- a/src/comutils.cpp +++ b/src/comutils.cpp @@ -1,5 +1,5 @@ /* - Copyright 2015-2017 Amebis + Copyright 2015-2018 Amebis Copyright 2016 GÉANT This file is part of wxExtend. @@ -27,12 +27,15 @@ wxCoInitializer::wxCoInitializer(DWORD dwCoInit) { - m_ok = SUCCEEDED(::CoInitializeEx(NULL, dwCoInit)); + HRESULT hr = ::CoInitializeEx(NULL, dwCoInit); + + m_initialized = SUCCEEDED(hr); + m_ok = SUCCEEDED(hr) || hr == RPC_E_CHANGED_MODE; } wxCoInitializer::~wxCoInitializer() { - if (m_ok) + if (m_initialized) ::CoUninitialize(); }