Fix crash caused by ActiveSiteHandler::onBeforeRemoveLayer() that don't remove deleted layers from selected layers

This affected only scripts (because UI uses the Timeline to manage the
active range which is already doing this).
This commit is contained in:
David Capello 2020-05-28 12:26:18 -03:00
parent 7a74aef1a7
commit 3a82e64c23

View File

@ -131,6 +131,10 @@ void ActiveSiteHandler::onBeforeRemoveLayer(DocEvent& ev)
if (!selectedLayer)
return;
// Remove layer from range
data.range.eraseAndAdjust(ev.layer());
// Select other layer as active
doc::Layer* layerToSelect = candidate_if_layer_is_deleted(selectedLayer, ev.layer());
if (selectedLayer != layerToSelect) {
data.layer = (layerToSelect ? layerToSelect->id():