From 5af695494ce93453e26f76c2cd205aaa85f6bc4f Mon Sep 17 00:00:00 2001 From: Rob Date: Tue, 3 May 2016 15:15:44 -0700 Subject: [PATCH] Reclaim some memory from the verifier. --- app/views/editor/verifier/VerifierTest.coffee | 15 +++++++++++++++ app/views/editor/verifier/VerifierView.coffee | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/views/editor/verifier/VerifierTest.coffee b/app/views/editor/verifier/VerifierTest.coffee index 8d15fde8b..e796ada17 100644 --- a/app/views/editor/verifier/VerifierTest.coffee +++ b/app/views/editor/verifier/VerifierTest.coffee @@ -94,6 +94,7 @@ module.exports = class VerifierTest extends CocoClass @lastFrameHash = e.lastFrameHash @state = 'complete' @updateCallback? state: @state + @scheduleCleanup() isSucessful: () -> return false unless @solution? @@ -112,11 +113,13 @@ module.exports = class VerifierTest extends CocoClass @error = "Failed due to non-user-code problem: #{JSON.stringify(e)}" @state = 'error' @updateCallback? state: @state + @scheduleCleanup() fail: (e) -> @error = 'Failed due to infinate loop.' @state = 'error' @updateCallback? state: @state + @scheduleCleanup() generateSpellsObject: -> aetherOptions = createAetherOptions functionName: 'plan', codeLanguage: @session.get('codeLanguage') @@ -129,3 +132,15 @@ module.exports = class VerifierTest extends CocoClass console.log "Couldn't transpile!\n#{source}\n", e spellThang.aether.transpile '' spells + + scheduleCleanup: -> + setTimeout @cleanup, 100 + + cleanup: => + if @god + console.log "Destorying God" + @stopListening @god + @god.destroy() + console.log "Destoryed" + + @world = null diff --git a/app/views/editor/verifier/VerifierView.coffee b/app/views/editor/verifier/VerifierView.coffee index d8b841bd5..46f151526 100644 --- a/app/views/editor/verifier/VerifierView.coffee +++ b/app/views/editor/verifier/VerifierView.coffee @@ -26,7 +26,7 @@ module.exports = class VerifierView extends RootView 'patrol-buster', 'endangered-burl', 'thumb-biter', 'gems-or-death', 'village-guard', 'thornbush-farm', 'back-to-back', 'ogre-encampment', 'woodland-cleaver', 'shield-rush', 'range-finder', 'munchkin-swarm', 'stillness-in-motion', 'the-agrippa-defense', 'backwoods-bombardier', 'coinucopia', 'copper-meadows', - 'drop-the-flag', 'mind-the-trap', 'signal-corpse', 'rich-forager', 'cross-bones' + 'drop-the-flag', 'mind-the-trap', 'signal-corpse', 'rich-forager' ] #testLevels = testLevels.slice 0, 15