[Windows] Cleanup COM library initialization/uninitialization.
This commit is contained in:
@ -195,7 +195,6 @@ void OS_Windows::initialize() {
|
||||
IPUnix::make_default();
|
||||
main_loop = nullptr;
|
||||
|
||||
CoInitialize(nullptr);
|
||||
HRESULT hr = DWriteCreateFactory(DWRITE_FACTORY_TYPE_SHARED, __uuidof(IDWriteFactory), reinterpret_cast<IUnknown **>(&dwrite_factory));
|
||||
if (SUCCEEDED(hr)) {
|
||||
hr = dwrite_factory->GetSystemFontCollection(&font_collection, false);
|
||||
@ -373,8 +372,6 @@ Vector<String> OS_Windows::get_video_adapter_driver_info() const {
|
||||
return Vector<String>();
|
||||
}
|
||||
|
||||
CoInitialize(nullptr);
|
||||
|
||||
HRESULT hr = CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER, uuid, (LPVOID *)&wbemLocator);
|
||||
if (hr != S_OK) {
|
||||
return Vector<String>();
|
||||
@ -1505,6 +1502,8 @@ Error OS_Windows::move_to_trash(const String &p_path) {
|
||||
OS_Windows::OS_Windows(HINSTANCE _hInstance) {
|
||||
hInstance = _hInstance;
|
||||
|
||||
CoInitializeEx(nullptr, COINIT_MULTITHREADED);
|
||||
|
||||
#ifdef WASAPI_ENABLED
|
||||
AudioDriverManager::add_driver(&driver_wasapi);
|
||||
#endif
|
||||
@ -1532,4 +1531,5 @@ OS_Windows::OS_Windows(HINSTANCE _hInstance) {
|
||||
}
|
||||
|
||||
OS_Windows::~OS_Windows() {
|
||||
CoUninitialize();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user