From aebf989e8d8491bb3721a46ed624bf49d91f30e0 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Sun, 16 Dec 2018 06:50:52 +0000 Subject: [PATCH] Prevent wrapExternal from triggering if recipient facet is no longer alive --- packages/core/src/dataspace.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/core/src/dataspace.js b/packages/core/src/dataspace.js index e842d2e..5c729d2 100644 --- a/packages/core/src/dataspace.js +++ b/packages/core/src/dataspace.js @@ -100,13 +100,15 @@ Dataspace.wrapExternal = function (f) { let savedFacet = Dataspace._currentFacet; let ac = savedFacet.actor; return function () { - let actuals = arguments; - ac.dataspace.start(); - ac.pushScript(function () { - Dataspace.withCurrentFacet(savedFacet, function () { - f.apply(this, actuals); + if (savedFacet.isLive) { + let actuals = arguments; + ac.dataspace.start(); + ac.pushScript(function () { + Dataspace.withCurrentFacet(savedFacet, function () { + f.apply(this, actuals); + }); }); - }); + } }; };