From dacfcd247e3c11ccb18b9a719704c6f629a9ddc9 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Sun, 26 Oct 2014 20:20:28 +0100 Subject: [PATCH] Fix race in opmapcontrol --- libs/opmapcontrol/src/internals/tilematrix.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libs/opmapcontrol/src/internals/tilematrix.cpp b/libs/opmapcontrol/src/internals/tilematrix.cpp index cedfd7fba..626917e5a 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(); } } -- 2.22.0