From aca06a5f030e06915325ff5b56b473a439d725b9 Mon Sep 17 00:00:00 2001 From: Sergey Yershov Date: Thu, 15 Dec 2016 13:35:42 +0300 Subject: [PATCH] Fix crash while switch traffic on/off --- map/traffic_manager.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/map/traffic_manager.cpp b/map/traffic_manager.cpp index 4a180371c3..8e0868a848 100644 --- a/map/traffic_manager.cpp +++ b/map/traffic_manager.cpp @@ -243,7 +243,13 @@ void TrafficManager::ThreadRoutine() traffic::TrafficInfo info(mwm, m_currentDataVersion); - if (info.ReceiveTrafficData(m_trafficETags[mwm])) + string tag; + { + lock_guard lock(m_mutex); + tag = m_trafficETags[mwm]; + } + + if (info.ReceiveTrafficData(tag)) { OnTrafficDataResponse(move(info)); } @@ -252,6 +258,11 @@ void TrafficManager::ThreadRoutine() LOG(LWARNING, ("Traffic request failed. Mwm =", mwm)); OnTrafficRequestFailed(move(info)); } + + { + lock_guard lock(m_mutex); + m_trafficETags[mwm] = tag; + } } mwms.clear(); }