diff --git a/CanvasApp/DesignSpace/Workspace/FunctionLibraries/CryptoEcosystemFunctions.js b/CanvasApp/DesignSpace/Workspace/FunctionLibraries/CryptoEcosystemFunctions.js index 544347a5e..f7503e608 100644 --- a/CanvasApp/DesignSpace/Workspace/FunctionLibraries/CryptoEcosystemFunctions.js +++ b/CanvasApp/DesignSpace/Workspace/FunctionLibraries/CryptoEcosystemFunctions.js @@ -377,9 +377,19 @@ function newCryptoEcosystemFunctions() { for (let i = 0; i < timeMachines.length; i++) { let timeMachine = timeMachines[i] let session = timeMachine.payload.referenceParent - if (session === undefined) {continue} + if (session === undefined) { + /* + This is what usually happens, that the intall process make these + time machines to lose their reference parent since the install + process deletes them. + */ + functionLibraryNodeDeleter.deleteUIObject(timeMachine, rootNodes) + continue + } let marketTradingTasks = findNodeInNodeMesh(session, 'Market Trading Tasks', undefined, true, false, true, false) - if (marketTradingTasks.payload.referenceParent === undefined) {continue} + if (marketTradingTasks === undefined) {continue} + if (marketTradingTasks.payload === undefined) {continue} + if (marketTradingTasks.payload.referenceParent === undefined) { continue } if (marketTradingTasks.payload.referenceParent.id === market.id) { functionLibraryNodeDeleter.deleteUIObject(timeMachine, rootNodes) } diff --git a/CanvasApp/FloatingSpace/FloatingLayer.js b/CanvasApp/FloatingSpace/FloatingLayer.js index a17f10bf2..eaf64b132 100644 --- a/CanvasApp/FloatingSpace/FloatingLayer.js +++ b/CanvasApp/FloatingSpace/FloatingLayer.js @@ -207,6 +207,7 @@ function newFloatingLayer() { } function makeVisible() { + let newInvisibleArray = [] for (let i = 0; i < invisibleFloatingObjects.length; i++) { let floatingObject = invisibleFloatingObjects[i] @@ -214,14 +215,15 @@ function newFloatingLayer() { if (floatingObject.isParentCollapsed === false) { visibleFloatingObjects.push(floatingObject) - invisibleFloatingObjects.splice(i, 1) // Delete item from array. - makeVisible() - return // Only one at the time. + } else { + newInvisibleArray.push(floatingObject) } } + invisibleFloatingObjects = newInvisibleArray } function makeInvisible() { + let newVisibleArray = [] for (let i = 0; i < visibleFloatingObjects.length; i++) { let floatingObject = visibleFloatingObjects[i] @@ -229,11 +231,11 @@ function newFloatingLayer() { if (floatingObject.isParentCollapsed === true) { invisibleFloatingObjects.push(floatingObject) - visibleFloatingObjects.splice(i, 1) // Delete item from array. - makeInvisible() - return // Only one at the time. + } else { + newVisibleArray.push(floatingObject) } } + visibleFloatingObjects = newVisibleArray } /******************************************/ diff --git a/CanvasApp/Utilities/Meshes.js b/CanvasApp/Utilities/Meshes.js index f0d474ff9..44144bf95 100644 --- a/CanvasApp/Utilities/Meshes.js +++ b/CanvasApp/Utilities/Meshes.js @@ -11,6 +11,7 @@ function findNodeInNodeMesh(node, nodeType, nodeName, connectedViaPayload, findI function scanNodeMesh(startingNode, depth) { if (startingNode === undefined) { return } + if (startingNode.payload === undefined) { return } if (nodeFound !== undefined) { return } if (depth >= MAX_DEPTH) {return}