Don't handle RPC_E_CHANGED_MODE return of OleInitialize() as an error.
This error means that OLE had already been initialized so from our point of view it counts as a success. Closes #12516. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -36,12 +36,19 @@
|
|||||||
// return true if ok, false otherwise
|
// return true if ok, false otherwise
|
||||||
inline bool wxOleInitialize()
|
inline bool wxOleInitialize()
|
||||||
{
|
{
|
||||||
// we need to initialize OLE library
|
HRESULT
|
||||||
#ifdef __WXWINCE__
|
#ifdef __WXWINCE__
|
||||||
if ( FAILED(::CoInitializeEx(NULL, COINIT_MULTITHREADED)) )
|
hr = ::CoInitializeEx(NULL, COINIT_MULTITHREADED);
|
||||||
#else
|
#else
|
||||||
if ( FAILED(::OleInitialize(NULL)) )
|
hr = ::OleInitialize(NULL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// RPC_E_CHANGED_MODE indicates that OLE had been already initialized
|
||||||
|
// before, albeit with different mode. Don't consider it to be an error as
|
||||||
|
// we don't actually care ourselves about the mode used so this allows the
|
||||||
|
// main application to call OleInitialize() on its own before we do if it
|
||||||
|
// needs non-default mode.
|
||||||
|
if ( hr != RPC_E_CHANGED_MODE && FAILED(hr) )
|
||||||
{
|
{
|
||||||
wxLogError(_("Cannot initialize OLE"));
|
wxLogError(_("Cannot initialize OLE"));
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user