From 26214ed2a33e68d23af57ac0c3bc30357ba648e5 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sun, 3 Dec 2023 03:01:43 +0100 Subject: [PATCH] Studio: do some extra cleaning to prevent corruptions --- src/UI/Studio/EditLayerState.ts | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/UI/Studio/EditLayerState.ts b/src/UI/Studio/EditLayerState.ts index 2f80830ec..75e821a9d 100644 --- a/src/UI/Studio/EditLayerState.ts +++ b/src/UI/Studio/EditLayerState.ts @@ -297,16 +297,25 @@ export default class EditLayerState extends EditJsonState { this.addMissingTagRenderingIds() - this.configuration.addCallbackAndRunD((layer) => { - if (layer.tagRenderings) { + + function cleanArray(data: object, key: string): boolean{ + if (data[key]) { // A bit of cleanup - const lBefore = layer.tagRenderings.length - const cleaned = Utils.NoNull(layer.tagRenderings) + const lBefore = data[key].length + const cleaned = Utils.NoNull(data[key]) if (cleaned.length != lBefore) { - layer.tagRenderings = cleaned - this.configuration.ping() + data[key] = cleaned + return true } } + return false + } + + this.configuration.addCallbackAndRunD((layer) => { + const changed = cleanArray(layer, "tagRenderings") || cleanArray(layer, "pointRenderings") + if(changed){ + this.configuration.ping() + } }) }