summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Wolff <oliver.wolff@qt.io>2018-11-22 14:30:23 +0100
committerOliver Wolff <oliver.wolff@qt.io>2018-11-28 06:36:14 +0000
commit10e200d710254a30dc5e2d4eb2104f3f2b7f7f0c (patch)
treefa781fd322afb3cbbf667cae010d83c333f80cdf
parentc83f4565687e4ab3de87248362305d833ca8eea1 (diff)
downloadqtlocation-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.cpp2
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()