diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llwindow/lldxhardware.cpp | 8 | ||||
-rw-r--r-- | indra/newview/llmachineid.cpp | 1 |
2 files changed, 5 insertions, 4 deletions
diff --git a/indra/llwindow/lldxhardware.cpp b/indra/llwindow/lldxhardware.cpp index 391a377280..07856edefc 100644 --- a/indra/llwindow/lldxhardware.cpp +++ b/indra/llwindow/lldxhardware.cpp @@ -71,7 +71,7 @@ HRESULT GetVideoMemoryViaWMI(WCHAR* strInputDeviceID, DWORD* pdwAdapterRam) BSTR pNamespace = nullptr; *pdwAdapterRam = 0; - hrCoInitialize = CoInitialize( 0 ); + hrCoInitialize = CoInitializeEx(0, COINIT_MULTITHREADED); hr = CoCreateInstance( CLSID_WbemLocator, nullptr, @@ -234,7 +234,7 @@ std::string LLDXHardware::getDriverVersionWMI(EGPUVendor vendor) std::string mDriverVersion; HRESULT hrCoInitialize = S_OK; HRESULT hres; - hrCoInitialize = CoInitialize(0); + hrCoInitialize = CoInitializeEx(0, COINIT_MULTITHREADED); IWbemLocator *pLoc = NULL; hres = CoCreateInstance( @@ -687,7 +687,7 @@ BOOL LLDXHardware::getInfo(BOOL vram_only) BOOL ok = FALSE; HRESULT hr; - CoInitialize(NULL); + CoInitializeEx(NULL, COINIT_MULTITHREADED); IDxDiagProvider *dx_diag_providerp = NULL; IDxDiagContainer *dx_diag_rootp = NULL; @@ -976,7 +976,7 @@ LLSD LLDXHardware::getDisplayInfo() LLTimer hw_timer; HRESULT hr; LLSD ret; - CoInitialize(NULL); + CoInitializeEx(NULL, COINIT_MULTITHREADED); IDxDiagProvider *dx_diag_providerp = NULL; IDxDiagContainer *dx_diag_rootp = NULL; diff --git a/indra/newview/llmachineid.cpp b/indra/newview/llmachineid.cpp index 583742f970..8f03b13d2d 100644 --- a/indra/newview/llmachineid.cpp +++ b/indra/newview/llmachineid.cpp @@ -88,6 +88,7 @@ void LLWMIMethods::initCOMObjects() mHR = CoInitializeEx(0, COINIT_MULTITHREADED); if (FAILED(mHR)) { + // if result S_FALSE, it's already initialized LL_DEBUGS("AppInit") << "Failed to initialize COM library. Error code = 0x" << std::hex << mHR << LL_ENDL; return; } |