forked from organicmaps/organicmaps
Fixed updating features waiting status.
This commit is contained in:
parent
0f8ef5c4ec
commit
921281f1fd
2 changed files with 18 additions and 20 deletions
|
@ -882,9 +882,7 @@ void FrontendRenderer::RenderScene(ScreenBase const & modelView)
|
|||
m2::RectD const & screenRect = modelView.ClipRect();
|
||||
auto isFeaturesWaiting = [&screenRect, waitFeatures](m2::RectD const & rect)
|
||||
{
|
||||
if (waitFeatures && rect.IsIntersect(screenRect))
|
||||
return true;
|
||||
return false;
|
||||
return waitFeatures && rect.IsIntersect(screenRect);
|
||||
};
|
||||
|
||||
for (RenderLayer & layer : m_layers)
|
||||
|
|
|
@ -183,27 +183,27 @@ void RenderGroup::Disappear()
|
|||
|
||||
bool RenderGroup::UpdateFeaturesWaitingStatus(TCheckFeaturesWaiting isFeaturesWaiting)
|
||||
{
|
||||
if (m_sharedFeaturesWaiting)
|
||||
{
|
||||
m2::RectD const tileRect = GetTileKey().GetGlobalRect();
|
||||
bool const isTileVisible = isFeaturesWaiting(tileRect);
|
||||
if (!m_sharedFeaturesWaiting)
|
||||
return false;
|
||||
|
||||
for (size_t i = 0; i < m_renderBuckets.size(); )
|
||||
m2::RectD const tileRect = GetTileKey().GetGlobalRect();
|
||||
bool const isTileVisible = isFeaturesWaiting(tileRect);
|
||||
|
||||
for (size_t i = 0; i < m_renderBuckets.size(); )
|
||||
{
|
||||
bool visibleBucket = m_renderBuckets[i]->IsShared() ? m_renderBuckets[i]->IsFeaturesWaiting(isFeaturesWaiting)
|
||||
: isTileVisible;
|
||||
if (!visibleBucket)
|
||||
{
|
||||
bool visibleBucket = m_renderBuckets[i]->IsShared() ? m_renderBuckets[i]->IsFeaturesWaiting(isFeaturesWaiting)
|
||||
: isTileVisible;
|
||||
if (!visibleBucket)
|
||||
{
|
||||
swap(m_renderBuckets[i], m_renderBuckets.back());
|
||||
m_renderBuckets.pop_back();
|
||||
}
|
||||
else
|
||||
{
|
||||
++i;
|
||||
}
|
||||
swap(m_renderBuckets[i], m_renderBuckets.back());
|
||||
m_renderBuckets.pop_back();
|
||||
}
|
||||
else
|
||||
{
|
||||
++i;
|
||||
}
|
||||
m_sharedFeaturesWaiting = !m_renderBuckets.empty();
|
||||
}
|
||||
m_sharedFeaturesWaiting = !m_renderBuckets.empty();
|
||||
return m_renderBuckets.empty();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue