diff --git a/scripts/system/edit.js b/scripts/system/edit.js index 15f1c2f6c1..88f50cb080 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -1424,24 +1424,29 @@ function deleteSelectedEntities() { for (var i = 0; i < newSortedSelection.length; i++) { var entityID = newSortedSelection[i]; var initialProperties = SelectionManager.savedProperties[entityID]; - var children = Entities.getChildrenIDs(entityID); - var childList = []; - recursiveDelete(children, childList, deletedIDs); - savedProperties.push({ - entityID: entityID, - properties: initialProperties, - children: childList - }); - deletedIDs.push(entityID); - Entities.deleteEntity(entityID); + if (!initialProperties.locked) { + var children = Entities.getChildrenIDs(entityID); + var childList = []; + recursiveDelete(children, childList, deletedIDs); + savedProperties.push({ + entityID: entityID, + properties: initialProperties, + children: childList + }); + deletedIDs.push(entityID); + Entities.deleteEntity(entityID); + } } - SelectionManager.clearSelections(); - pushCommandForSelections([], savedProperties); - entityListTool.webView.emitScriptEvent(JSON.stringify({ - type: "deleted", - ids: deletedIDs - })); + if (savedProperties.length > 0) { + SelectionManager.clearSelections(); + pushCommandForSelections([], savedProperties); + + entityListTool.webView.emitScriptEvent(JSON.stringify({ + type: "deleted", + ids: deletedIDs + })); + } } }