diff options
Diffstat (limited to 'src/imports/location/qdeclarativegeomapobject.cpp')
-rw-r--r-- | src/imports/location/qdeclarativegeomapobject.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/imports/location/qdeclarativegeomapobject.cpp b/src/imports/location/qdeclarativegeomapobject.cpp index eb3de35f..b9ca7cce 100644 --- a/src/imports/location/qdeclarativegeomapobject.cpp +++ b/src/imports/location/qdeclarativegeomapobject.cpp @@ -42,6 +42,7 @@ #include "qdeclarativegeomapobject_p.h" #include "qdeclarativegeomapmousearea_p.h" #include "qdeclarativelandmark_p.h" +#include "qdeclarativegeomapgroupobject_p.h" #include "qgeomapdata.h" #include <QDeclarativeParserStatus> @@ -345,7 +346,10 @@ void QDeclarativeGeoMapObjectView::removeInstantiatedItems() if (!mapObjects.isEmpty()) { for (int i = 0; i < mapObjects.size(); i++) { group_.removeChildObject(mapObjects.at(i)); - delete map_->objectMap_.take(mapObjects.at(i)); + + QDeclarativeGeoMapObject *mapObject = map_->objectMap_.value(mapObjects.at(i)); + map_->recursiveRemoveFromObjectMap(mapObjects.at(i)); + delete mapObject; } } declarativeObjectList_.clear(); @@ -373,7 +377,7 @@ void QDeclarativeGeoMapObjectView::repopulate() mapObject->setMap(map_); group_.addChildObject(mapObject->mapObject()); // Needed in order for mouse areas to work. - map_->objectMap_.insert(mapObject->mapObject(), mapObject); + map_->recursiveAddToObjectMap(mapObject); } } |