From b5eb68b15896147ef6e9a9d5aa5bbaa075f2774c Mon Sep 17 00:00:00 2001 From: Aaron McCarthy Date: Wed, 29 Jun 2011 16:16:09 +1000 Subject: Fix crash in when reseting model for MapObjectView. QGeoMapObjectEngine maintains multiple lists of QGeoMapObject pointers. When an item is removed from the model not all of these references are removed. Causing invalid memory access at the next paint event. Change-Id: Ia14daf64ba05386472ed14bac7d8de2f11658c0a Reviewed-on: http://codereview.qt.nokia.com/1260 Reviewed-by: Qt Sanity Bot Reviewed-by: David Laing --- src/location/maps/qgeomapobjectengine_p.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/location/maps/qgeomapobjectengine_p.cpp b/src/location/maps/qgeomapobjectengine_p.cpp index 5722dda2..7579b829 100644 --- a/src/location/maps/qgeomapobjectengine_p.cpp +++ b/src/location/maps/qgeomapobjectengine_p.cpp @@ -171,6 +171,9 @@ void QGeoMapObjectEngine::removeObject(QGeoMapObject *object) foreach (QRectF rect, rectsToUpdate) mdp->emitUpdateMapDisplay(rect); + + objectsForLatLonUpdate.removeAll(object); + objectsForPixelUpdate.removeAll(object); } } -- cgit v1.2.3