fix destination layer when deleting current layer

This commit is contained in:
Garux
2025-09-02 05:35:27 +05:00
parent 5426732f28
commit 5d7789438e
+5 -5
View File
@@ -382,13 +382,13 @@ void context_menu( const QPoint& pos ){
auto dels = item_getLayers( item );
auto it = item_getLayerIterator( item );
delete item;
// handle possible deletion of layers.m_currentLayer 1st, as it will be used as a destination later
if( std::ranges::find( dels, layers.m_currentLayer ) != dels.cend() )
item_setCurrent( tree->topLevelItem( LAYERIDX0 ) );
GlobalSceneGraph().traverse( LayerDeletetWalker( dels, layers.m_currentLayer ) );
it->m_parent->m_children.erase( it );
delete item;
if( std::ranges::find( dels, layers.m_currentLayer ) != dels.cend() ){
item_setCurrent( tree->topLevelItem( LAYERIDX0 ) );
}
} )->setDisabled( item == nullptr
|| ( item->parent() == nullptr && tree->topLevelItemCount() == 1 ) ); // trying to delete the only toplevel item