Fix error message when attempting to delete layer in a group (fix #4083)

If the sprite contained only one layer group, and we tried to delete
one child, we got an error message about "You cannot delete all
layers". This fixes this (the error message is only when we delete the
last top level layer).
This commit is contained in:
Dariy Guzairov 2023-10-05 11:44:03 +11:00 committed by David Capello
parent 53f0cd665f
commit 9772534ca5

View File

@ -172,11 +172,17 @@ void RemoveLayerCommand::onExecute(Context* context)
}
}
else {
if (deleting_all_layers(context, sprite, 1)) {
Layer* layer = writer.layer();
layer_t deletedTopLevelLayers = 0;
if (layer->parent() == sprite->root()) {
++deletedTopLevelLayers;
}
if (deleting_all_layers(context, sprite, deletedTopLevelLayers)) {
return;
}
Layer* layer = writer.layer();
if (layer->isTilemap() && !continue_deleting_unused_tilesets(context, sprite, {layer}, tsiToDelete)) {
return;
}