summaryrefslogtreecommitdiffstats
path: root/src/core/location_provider_qt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/location_provider_qt.cpp')
-rw-r--r--src/core/location_provider_qt.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/core/location_provider_qt.cpp b/src/core/location_provider_qt.cpp
index 222d15354..485ea8d94 100644
--- a/src/core/location_provider_qt.cpp
+++ b/src/core/location_provider_qt.cpp
@@ -74,6 +74,7 @@ private:
QGeoPositionInfoSource *m_positionInfoSource;
void postToLocationProvider(const base::Closure &task);
+ friend class LocationProviderQt;
};
QtPositioningHelper::QtPositioningHelper(LocationProviderQt *provider)
@@ -85,7 +86,8 @@ QtPositioningHelper::QtPositioningHelper(LocationProviderQt *provider)
QtPositioningHelper::~QtPositioningHelper()
{
- m_locationProvider->m_positioningHelper = 0;
+ if (m_locationProvider)
+ m_locationProvider->m_positioningHelper = 0;
}
static bool isHighAccuracySource(const QGeoPositionInfoSource *source)
@@ -223,7 +225,10 @@ LocationProviderQt::LocationProviderQt()
LocationProviderQt::~LocationProviderQt()
{
- m_positioningHelper->deleteLater();
+ if (m_positioningHelper) {
+ m_positioningHelper->m_locationProvider = 0;
+ m_positioningHelper->deleteLater();
+ }
}
bool LocationProviderQt::StartProvider(bool highAccuracy)