summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2023-03-06 12:06:53 +0100
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2023-03-09 19:57:38 +0100
commitd115aa90a2e2c04b4a853fa3c064c4dc5d3e73bf (patch)
tree0032e5978127ced134d820493390e7b6fbf6febd
parentf7ea9b36b7c56bb288f3ea55f587d2ccb8a9b7fa (diff)
Windows: initialize COM in internal thread
The QWindowsDialogThread uses COM APIs, so we need to initialize COM. Task-number: QTBUG-111625 Pick-to: 6.5 6.2 Change-Id: Ief136ee70671034cb8996ab2f5b113e3884d2953 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-rw-r--r--src/plugins/platforms/windows/qwindowsdialoghelpers.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
index a8dbd8633e..51bd9f0c38 100644
--- a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
+++ b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
@@ -31,6 +31,7 @@
#include <QtCore/qmutex.h>
#include <QtCore/quuid.h>
#include <QtCore/qtemporaryfile.h>
+#include <QtCore/private/qfunctions_win_p.h>
#include <QtCore/private/qsystemerror_p.h>
#include <algorithm>
@@ -257,6 +258,7 @@ private:
void QWindowsDialogThread::run()
{
qCDebug(lcQpaDialogs) << '>' << __FUNCTION__;
+ QComHelper comInit(COINIT_APARTMENTTHREADED);
m_dialog->exec(m_owner);
qCDebug(lcQpaDialogs) << '<' << __FUNCTION__;
}