From 7478b631da0e27174dcb0d2d8717fa98f0bbc889 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Wed, 31 Dec 2014 10:16:29 -0800 Subject: [PATCH] Move write lock in Overlays::overlayDrawOnChanged to encompass reads --- interface/src/ui/overlays/Overlays.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/interface/src/ui/overlays/Overlays.cpp b/interface/src/ui/overlays/Overlays.cpp index 8d33a06602..1dbe9af930 100644 --- a/interface/src/ui/overlays/Overlays.cpp +++ b/interface/src/ui/overlays/Overlays.cpp @@ -454,10 +454,10 @@ void RayToOverlayIntersectionResultFromScriptValue(const QScriptValue& object, R } void Overlays::overlayDrawOnChanged(Base3DOverlay* overlay) { + QWriteLocker lock(&_lock); if (overlay->getDrawOnHUD()) { for (unsigned int id : _overlaysWorld.keys()) { if (_overlaysWorld[id] == overlay) { - QWriteLocker lock(&_lock); _overlaysWorld.remove(id); _overlaysHUD[id] = overlay; } @@ -465,7 +465,6 @@ void Overlays::overlayDrawOnChanged(Base3DOverlay* overlay) { } else { for (unsigned int id : _overlaysHUD.keys()) { if (_overlaysHUD[id] == overlay) { - QWriteLocker lock(&_lock); _overlaysHUD.remove(id); _overlaysWorld[id] = overlay; }