diff options
author | r.kuznetsov <r.kuznetsov@corp.mail.ru> | 2018-01-31 14:52:49 +0300 |
---|---|---|
committer | Daria Volvenkova <d.volvenkova@corp.mail.ru> | 2018-01-31 15:16:31 +0300 |
commit | c118e3323490af1fc6f88c2db7007da8b52b19e9 (patch) | |
tree | 48c2ba5a8444f8838e7f9e356f5561016b319385 | |
parent | bd3fe96484c393910e2877e48946dcafc48a786c (diff) |
Fixed infinite memory consumption on start in iOS 10.2ios-store-807android-gr-807release-806
-rwxr-xr-x | drape_frontend/frontend_renderer.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/drape_frontend/frontend_renderer.cpp b/drape_frontend/frontend_renderer.cpp index 0d9258b786..35749f3f0b 100755 --- a/drape_frontend/frontend_renderer.cpp +++ b/drape_frontend/frontend_renderer.cpp @@ -870,15 +870,21 @@ void FrontendRenderer::UpdateGLResources() m_trafficRenderer->ClearGLDependentResources(); - // Request new tiles. - ScreenBase screen = m_userEventStream.GetCurrentScreen(); - m_lastReadedModelView = screen; - m_requestedTiles->Set(screen, m_isIsometry || screen.isPerspective(), - m_forceUpdateScene, m_forceUpdateUserMarks, - ResolveTileKeys(screen)); - m_commutator->PostMessage(ThreadsCommutator::ResourceUploadThread, - make_unique_dp<UpdateReadManagerMessage>(), - MessagePriority::UberHighSingleton); + // In some cases UpdateGLResources can be called before the rendering of + // the first frame. m_currentZoomLevel will be equal to -1, so ResolveTileKeys + // could not be called. + if (m_currentZoomLevel > 0) + { + // Request new tiles. + ScreenBase screen = m_userEventStream.GetCurrentScreen(); + m_lastReadedModelView = screen; + m_requestedTiles->Set(screen, m_isIsometry || screen.isPerspective(), + m_forceUpdateScene, m_forceUpdateUserMarks, + ResolveTileKeys(screen)); + m_commutator->PostMessage(ThreadsCommutator::ResourceUploadThread, + make_unique_dp<UpdateReadManagerMessage>(), + MessagePriority::UberHighSingleton); + } m_gpsTrackRenderer->Update(); } |