From e077ad0f5fb4a9513d9cd778e5cbb6b6d38ae026 Mon Sep 17 00:00:00 2001 From: Paolo Angelelli <paolo.angelelli@qt.io> Date: Thu, 8 Feb 2018 12:02:18 +0100 Subject: [PATCH] Preemptively release pendingMapObjects upon Map destruction In this way QGeoMap::mapObjects doesn't have to return all map objects, as the user added ones should be covered by m_pendingMapObjects. Change-Id: I5c850f2fb820629e0c4dd941d13f04cb3684b898 Reviewed-by: BogDan Vatra <bogdan@kdab.com> --- src/location/declarativemaps/qdeclarativegeomap.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/location/declarativemaps/qdeclarativegeomap.cpp b/src/location/declarativemaps/qdeclarativegeomap.cpp index 9f53c4d88..1bf5ea87b 100644 --- a/src/location/declarativemaps/qdeclarativegeomap.cpp +++ b/src/location/declarativemaps/qdeclarativegeomap.cpp @@ -269,6 +269,9 @@ QDeclarativeGeoMap::~QDeclarativeGeoMap() delete m_copyrights.data(); m_copyrights.clear(); + for (auto obj: qAsConst(m_pendingMapObjects)) + obj->setMap(nullptr); // worst case: going to be setMap(nullptr)'d twice + delete m_map; // map objects get reset here } -- GitLab