diff --git a/libs/opmapcontrol/src/internals/tilematrix.cpp b/libs/opmapcontrol/src/internals/tilematrix.cpp index cedfd7fba50a2f91fd229866058b6848311edc36..626917e5ad4417b10d653d0c283e706caa24b950 100644 --- a/libs/opmapcontrol/src/internals/tilematrix.cpp +++ b/libs/opmapcontrol/src/internals/tilematrix.cpp @@ -100,7 +100,7 @@ void TileMatrix::Clear() void TileMatrix::ClearPointsNotIn(QListlist) { removals.clear(); - mutex.lock(); + QMutexLocker lock(&mutex); foreach(Point p, matrix.keys()) { if(!list.contains(p)) @@ -111,14 +111,12 @@ void TileMatrix::ClearPointsNotIn(QListlist) mutex.unlock(); foreach(Point p,removals) { - Tile* t=TileAt(p); + Tile* t=matrix.value(p, 0); if(t!=0) { - mutex.lock(); delete t; t=0; matrix.remove(p); - mutex.unlock(); } }