diff --git a/src/activeqt/control/qaxservermain.cpp b/src/activeqt/control/qaxservermain.cpp index c79a9e171588107a73734e9d97f57a246e2a5731..f6f750248bee25eb5ab3cf0f3297e455e3210c78 100644 --- a/src/activeqt/control/qaxservermain.cpp +++ b/src/activeqt/control/qaxservermain.cpp @@ -252,19 +252,21 @@ EXTERN_C int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR, } if (run) { - HRESULT hRes = CoInitialize(0); - - int argc; - QVector<char*> argv(8); - qWinMain(hInstance, hPrevInstance, unprocessed.data(), nShowCmd, argc, argv); - qAxInit(); - if (runServer) - QAxFactory::startServer(); - nRet = ::main(argc, argv.data()); - QAxFactory::stopServer(); - qAxCleanup(); - CoUninitialize(); - + if (SUCCEEDED(CoInitialize(0))) { + int argc; + QVector<char*> argv(8); + qWinMain(hInstance, hPrevInstance, unprocessed.data(), nShowCmd, argc, argv); + qAxInit(); + if (runServer) + QAxFactory::startServer(); + nRet = ::main(argc, argv.data()); + QAxFactory::stopServer(); + qAxCleanup(); + CoUninitialize(); + } else { + qErrnoWarning("CoInitialize() failed."); + nRet = -1; + } } return nRet; diff --git a/tools/dumpcpp/main.cpp b/tools/dumpcpp/main.cpp index a7a44b16a20537d2cc27831a0f6e23a84cae072c..6d3dd54b9dc0638a5a2d5a9ab7bbf691bc13053d 100644 --- a/tools/dumpcpp/main.cpp +++ b/tools/dumpcpp/main.cpp @@ -1494,7 +1494,10 @@ int main(int argc, char **argv) { qax_dispatchEqualsIDispatch = false; - CoInitialize(0); + if (FAILED(CoInitialize(0))) { + qErrnoWarning("CoInitialize() failed."); + return -1; + } uint category = DefaultObject; diff --git a/tools/dumpdoc/main.cpp b/tools/dumpdoc/main.cpp index bb3bcf1715acec9516153e0d3071305044ca3bd5..6996e1579493ac59e236bc9edb0f90d1774be446 100644 --- a/tools/dumpdoc/main.cpp +++ b/tools/dumpdoc/main.cpp @@ -48,7 +48,10 @@ QT_USE_NAMESPACE int main(int argc, char **argv) { - CoInitialize(0); + if (FAILED(CoInitialize(0))) { + qErrnoWarning("CoInitialize() failed."); + return -1; + } enum State { Default = 0,