From 69918eff2bfc28e2562ff1b9b0cac25150e6b36e Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Mon, 2 Dec 2019 19:16:57 +0100 Subject: [PATCH] Warm up Floating Layer when a workspace is dropped --- DesignerSpace/Workspace/Workspace.js | 1 + FloatingSpace/UiObjectConstructor.js | 3 --- Spaces/FloatingSpace.js | 17 ++++++++++++++++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/DesignerSpace/Workspace/Workspace.js b/DesignerSpace/Workspace/Workspace.js index f900426ef..98a2beb12 100644 --- a/DesignerSpace/Workspace/Workspace.js +++ b/DesignerSpace/Workspace/Workspace.js @@ -205,6 +205,7 @@ function newWorkspace () { if (droppedNode.type === 'Workspace') { stopAllRunningTasks() functionLibraryNodeDeleter.deleteWorkspace(thisObject.workspaceNode, thisObject.workspaceNode.rootNodes) + canvas.floatingSpace.warmUp() thisObject.workspaceNode = droppedNode functionLibraryUiObjectsFromNodes.recreateWorkspace(thisObject.workspaceNode) return diff --git a/FloatingSpace/UiObjectConstructor.js b/FloatingSpace/UiObjectConstructor.js index ca6fbd99b..80e74b7ed 100644 --- a/FloatingSpace/UiObjectConstructor.js +++ b/FloatingSpace/UiObjectConstructor.js @@ -18,9 +18,6 @@ function newUiObjectConstructor () { function finalize () { floatingLayer = undefined - - payload.uiObject.finalize() - payload.uiObject = undefined } function initialize (pFloatingLayer) { diff --git a/Spaces/FloatingSpace.js b/Spaces/FloatingSpace.js index d3798cee8..b5dbad099 100644 --- a/Spaces/FloatingSpace.js +++ b/Spaces/FloatingSpace.js @@ -21,6 +21,7 @@ function newFloatingSpace () { fitIntoVisibleArea: fitIntoVisibleArea, isThisPointVisible: isThisPointVisible, isItFar: isItFar, + warmUp: warmUp, makeVisible: makeVisible, makeInvisible: makeInvisible, draw: draw, @@ -50,14 +51,24 @@ function newFloatingSpace () { let warmingUpCounter = 0 const PERCENTAGE_OF_SCREEN_FOR_DISPLACEMENT = 25 + let eventSubscriptionId return thisObject function finalize () { + thisObject.container.eventHandler.stopListening(eventSubscriptionId) + thisObject.floatingLayer.finalize() thisObject.profileBalls.finalize() thisObject.uiObjectConstructor.finalize() thisObject.noteSets.finalize() + thisObject.container.finalize() + + thisObject.floatingLayer = undefined + thisObject.profileBalls = undefined + thisObject.uiObjectConstructor = undefined + thisObject.noteSets = undefined + thisObject.container = undefined } function initialize (callBackFunction) { @@ -73,7 +84,11 @@ function newFloatingSpace () { thisObject.uiObjectConstructor = newUiObjectConstructor() thisObject.uiObjectConstructor.initialize(thisObject.floatingLayer) - thisObject.container.eventHandler.listenToEvent('onMouseWheel', onMouseWheel) + eventSubscriptionId = thisObject.container.eventHandler.listenToEvent('onMouseWheel', onMouseWheel) + } + + function warmUp () { + warmingUpCounter = 0 } function isItFar (payload, dontCheckParent) {