diff options
author | Oliver Wolff <oliver.wolff@qt.io> | 2018-11-22 14:30:23 +0100 |
---|---|---|
committer | Oliver Wolff <oliver.wolff@qt.io> | 2018-11-28 06:36:14 +0000 |
commit | 10e200d710254a30dc5e2d4eb2104f3f2b7f7f0c (patch) | |
tree | fa781fd322afb3cbbf667cae010d83c333f80cdf | |
parent | c83f4565687e4ab3de87248362305d833ca8eea1 (diff) | |
download | qtlocation-10e200d710254a30dc5e2d4eb2104f3f2b7f7f0c.tar.gz |
winrt: Make sure that Co(Un)Initialize is called
If the QGeoPositionInfoSource is created in a command line app we cannot
rely on CoInitialize having been called by the event dispatcher before.
Fixes: QTBUG-71194
Change-Id: Id2a8fd22f7b4cf6e5c2629bf7dcd8319b585666e
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
-rw-r--r-- | src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp b/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp index 21e0fddd..c41f63bc 100644 --- a/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp +++ b/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp @@ -91,6 +91,7 @@ QGeoPositionInfoSourceWinRT::QGeoPositionInfoSourceWinRT(QObject *parent) : QGeoPositionInfoSource(parent) , d_ptr(new QGeoPositionInfoSourceWinRTPrivate) { + CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); Q_D(QGeoPositionInfoSourceWinRT); d->positionError = QGeoPositionInfoSource::NoError; d->updatesOngoing = false; @@ -98,6 +99,7 @@ QGeoPositionInfoSourceWinRT::QGeoPositionInfoSourceWinRT(QObject *parent) QGeoPositionInfoSourceWinRT::~QGeoPositionInfoSourceWinRT() { + CoUninitialize(); } int QGeoPositionInfoSourceWinRT::init() |