mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1131871 - auto_com should only uninitialize when successful. r=padenot
--HG-- extra : rebase_source : 4af27a3e50b68ad1ee4d869b1a3bee3eeb4a1141
This commit is contained in:
parent
332621b1f2
commit
a5abfe834e
@ -164,7 +164,7 @@ private:
|
||||
|
||||
struct auto_com {
|
||||
auto_com()
|
||||
: need_uninit(true) {
|
||||
: need_uninit(false) {
|
||||
HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
|
||||
// This is for information purposes only, in anycase, COM is initialized
|
||||
// at the end of the constructor.
|
||||
@ -172,14 +172,15 @@ struct auto_com {
|
||||
// This is an error, COM was not initialized by this function, so it is
|
||||
// not necessary to uninit it.
|
||||
LOG("COM already initialized in STA.");
|
||||
need_uninit = false;
|
||||
} else if (hr == S_FALSE) {
|
||||
// This is not an error. We are allowed to call CoInitializeEx more than
|
||||
// once, as long as it is matches by an CoUninitialize call.
|
||||
// We do that in the dtor which is guaranteed to be called.
|
||||
LOG("COM already initialized in MTA");
|
||||
need_uninit = true;
|
||||
} else if (hr == S_OK) {
|
||||
LOG("COM initialized.");
|
||||
need_uninit = true;
|
||||
}
|
||||
}
|
||||
~auto_com() {
|
||||
|
Loading…
Reference in New Issue
Block a user