diff --git a/drape_frontend/drape_engine.cpp b/drape_frontend/drape_engine.cpp index 4a89d0c7fc..c9a0485e8c 100644 --- a/drape_frontend/drape_engine.cpp +++ b/drape_frontend/drape_engine.cpp @@ -11,6 +11,7 @@ #include "platform/settings.hpp" #include "std/bind.hpp" +#include "std/utility.hpp" namespace { @@ -547,13 +548,13 @@ void DrapeEngine::UpdateTraffic(traffic::TrafficInfo const & info) if (info.GetColoring().empty()) return; - df::TrafficSegmentsColoring segmentsColoring; - auto & mwmColoring = segmentsColoring[info.GetMwmId()]; +#ifdef DEBUG for (auto const & segmentPair : info.GetColoring()) - { - if (segmentPair.second != traffic::SpeedGroup::Unknown) - mwmColoring.insert(segmentPair); - } + ASSERT_NOT_EQUAL(segmentPair.second, traffic::SpeedGroup::Unknown, ()); +#endif + + df::TrafficSegmentsColoring segmentsColoring; + segmentsColoring.insert(make_pair(info.GetMwmId(), info.GetColoring())); m_threadCommutator->PostMessage(ThreadsCommutator::ResourceUploadThread, make_unique_dp(move(segmentsColoring), false), diff --git a/routing/routing_session.cpp b/routing/routing_session.cpp index de850162ef..2ba0c3516e 100644 --- a/routing/routing_session.cpp +++ b/routing/routing_session.cpp @@ -599,7 +599,8 @@ void RoutingSession::OnTrafficInfoAdded(TrafficInfo && info) TrafficInfo::Coloring coloring; for (auto const & kv : fullColoring) { - if (kv.second != SpeedGroup::G5 && kv.second != SpeedGroup::Unknown) + ASSERT_NOT_EQUAL(kv.second, SpeedGroup::Unknown, ()); + if (kv.second != SpeedGroup::G5) coloring.insert(kv); } diff --git a/traffic/traffic_info.cpp b/traffic/traffic_info.cpp index 3d24d68ef8..9d0501dcd7 100644 --- a/traffic/traffic_info.cpp +++ b/traffic/traffic_info.cpp @@ -495,7 +495,10 @@ bool TrafficInfo::UpdateTrafficData(vector const & values) } for (size_t i = 0; i < m_keys.size(); ++i) - m_coloring.emplace(m_keys[i], values[i]); + { + if (values[i] != SpeedGroup::Unknown) + m_coloring.emplace(m_keys[i], values[i]); + } return true; }