summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Nabet <serval2412@yahoo.fr>2020-06-07 13:42:17 +0200
committerJulien Nabet <serval2412@yahoo.fr>2020-06-08 11:44:32 +0200
commit64814781193cbfcb3535ae4061cbdf2be0ba02e3 (patch)
treecadb76c39c279aa05af740c16ccb56c75e41925f
parent8bbd8324282e7890de29ede5912d24c6e1c7ce7f (diff)
Use o3tl::safeCoInitializeEx/safeCoUninitializeReinit (extensions/updatecheck)
Change-Id: I009664b9c8f1c302d5a90e7014f612dcd3602f63 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95664 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
-rw-r--r--extensions/source/update/check/updatecheck.cxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/extensions/source/update/check/updatecheck.cxx b/extensions/source/update/check/updatecheck.cxx
index 1f8faabadfd7..b4a5152a563e 100644
--- a/extensions/source/update/check/updatecheck.cxx
+++ b/extensions/source/update/check/updatecheck.cxx
@@ -41,6 +41,7 @@
#include <tools/diagnose_ex.h>
#ifdef _WIN32
+#include <o3tl/safeCoInitUninit.hxx>
#include <objbase.h>
#endif
@@ -588,8 +589,9 @@ DownloadThread::run()
osl_setThreadName("DownloadThread");
#ifdef _WIN32
- CoUninitialize();
- CoInitializeEx( nullptr, COINIT_APARTMENTTHREADED );
+ int nNbCallCoInitializeExForReinit = 0;
+ // for SystemShellExecute
+ o3tl::safeCoInitializeEx(COINIT_APARTMENTTHREADED, nNbCallCoInitializeExForReinit);
#endif
while( schedule() )
@@ -627,6 +629,9 @@ DownloadThread::run()
n=0;
}
}
+#ifdef _WIN32
+ o3tl::safeCoUninitializeReinit(COINIT_MULTITHREADED, nNbCallCoInitializeExForReinit);
+#endif
}