From d3da20d63f6ddf6f3760208d7db130d15860e852 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 22 Nov 2023 01:01:12 +0200 Subject: SL-20603 Crash on CoInitialize Don't mix CoInitialize and CoInitializeEx, one is global, other is threaded. CoInitialize(0) is equal to CoInitializeEx(0, COINIT_APARTMENTTHREADED) and MULTITHREADED is not compatible with APARTMENTTHREADED. --- indra/newview/llmachineid.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llmachineid.cpp') 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; } -- cgit v1.2.3 From 5accc1feff322c89e63fbfa0f3ac6911abcf6436 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 6 Dec 2023 12:58:20 +0200 Subject: SL-20695 Fix hardware probes CoCreateInstance returns 'no interface supported' Preferable not to mix init types so switched everything. --- indra/newview/llmachineid.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'indra/newview/llmachineid.cpp') diff --git a/indra/newview/llmachineid.cpp b/indra/newview/llmachineid.cpp index 8f03b13d2d..1f4418f119 100644 --- a/indra/newview/llmachineid.cpp +++ b/indra/newview/llmachineid.cpp @@ -85,12 +85,11 @@ void LLWMIMethods::initCOMObjects() // Step 1: -------------------------------------------------- // Initialize COM. ------------------------------------------ - mHR = CoInitializeEx(0, COINIT_MULTITHREADED); + mHR = CoInitializeEx(0, COINIT_APARTMENTTHREADED); 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; } // Step 2: -------------------------------------------------- -- cgit v1.2.3