Fixed a bug caused by removed VIEW_ITEMs that were marked for updating.

This commit is contained in:
Maciej Suminski 2014-03-10 16:01:15 +01:00
parent c4dbdbf9d3
commit ecb3aebce3
1 changed files with 8 additions and 0 deletions

View File

@ -114,6 +114,14 @@ void VIEW::Remove( VIEW_ITEM* aItem )
if( m_dynamic )
aItem->m_view = NULL;
if( aItem->viewRequiredUpdate() != VIEW_ITEM::NONE ) // prevent from updating a removed item
{
std::vector<VIEW_ITEM*>::iterator item = std::find( m_needsUpdate.begin(), m_needsUpdate.end(), aItem );
if( item != m_needsUpdate.end() )
m_needsUpdate.erase( item );
}
int layers[VIEW::VIEW_MAX_LAYERS], layers_count;
aItem->getLayers( layers, layers_count );