Commit 99929f72 authored by Romain Courteaud's avatar Romain Courteaud

Protect the changeState calls with the 'changestate' mutex.

parent 0b307c54
...@@ -698,24 +698,8 @@ ...@@ -698,24 +698,8 @@
return this.element; return this.element;
}) })
.declareMethod('changeState', function changeState(state_dict) { .declareMethod('changeState', function changeState(state_dict) {
var next_onStateChange = new RSVP.Queue(), var context = this,
previous_onStateCHange, key,
context = this;
if (context.hasOwnProperty('__previous_onStateChange')) {
previous_onStateCHange = context.__previous_onStateChange;
next_onStateChange
.push(function waitForPreviousStateChange() {
return previous_onStateCHange;
})
.push(undefined, function handlePreviousStateChangeError() {
// Run callback even if previous failed
return;
});
}
context.__previous_onStateChange = next_onStateChange;
return next_onStateChange
.push(function checkStateModification() {
var key,
modified = false, modified = false,
previous_cancelled = context.hasOwnProperty('__modification_dict'), previous_cancelled = context.hasOwnProperty('__modification_dict'),
modification_dict; modification_dict;
...@@ -744,8 +728,7 @@ ...@@ -744,8 +728,7 @@
return result; return result;
}); });
} }
}); }, {mutex: 'changestate'});
});
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
// RenderJSGadget.declareAcquiredMethod // RenderJSGadget.declareAcquiredMethod
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment