diff --git a/common/view/view.cpp b/common/view/view.cpp index e8168e82b8..30d56e3415 100644 --- a/common/view/view.cpp +++ b/common/view/view.cpp @@ -312,6 +312,15 @@ void VIEW::Add( VIEW_ITEM* aItem, int aDrawPriority ) aItem->m_viewPrivData->m_cachedIndex = m_allItems->size(); std::vector layers = aItem->ViewGetLayers(); + + std::erase_if( layers, []( int layer ) + { + return layer < 0 || layer >= VIEW_MAX_LAYERS; + } ); + + if( layers.empty() ) + return; + aItem->viewPrivData()->saveLayers( layers ); m_allItems->push_back( aItem );