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/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-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/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-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/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/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();
}
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
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