Fixed broken GCODE viewer / concurrent settings requests
The GCODE viewer settings callback was not properly called, hence the
viewer was not initialized properly.
Changed prevention of concurrent settings requests to properly handle
the situation where the registered settings callbacks might be extended
through another callback.
(cherry picked from commit 7d6462b)
This commit is contained in:
parent
e33f69917f
commit
273bb45741
1 changed files with 12 additions and 7 deletions
|
|
@ -274,20 +274,25 @@ $(function() {
|
|||
type: "GET",
|
||||
dataType: "json",
|
||||
success: function(response) {
|
||||
var callbacks = self.callbacks;
|
||||
self.callbacks = [];
|
||||
|
||||
if (callback) {
|
||||
callbacks.push(callback);
|
||||
self.callbacks.push(callback);
|
||||
}
|
||||
|
||||
try {
|
||||
self.fromResponse(response);
|
||||
_.each(callbacks, function(cb) {
|
||||
cb();
|
||||
});
|
||||
|
||||
var cb;
|
||||
while (self.callbacks.length) {
|
||||
cb = self.callbacks.shift();
|
||||
try {
|
||||
cb();
|
||||
} catch(exc) {
|
||||
log.error("Error calling settings callback", cb, ":", (exc.stack || exc));
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
self.receiving(false);
|
||||
self.callbacks = [];
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue