Added checking if the block is disposed before trying to reconnect in logic_compare block.

This commit is contained in:
Beka Westberg
2019-11-04 14:41:45 -08:00
parent 67df60dee9
commit 1ce97d1c50
2 changed files with 10 additions and 2 deletions

View File

@@ -561,7 +561,7 @@ Blockly.Constants.Logic.LOGIC_COMPARE_ONCHANGE_MIXIN = {
var prevA = this.prevBlocks_[0];
if (prevA !== blockA) {
blockA.unplug();
if (prevA && !prevA.isShadow()) {
if (prevA && !prevA.isDisposed() && !prevA.isShadow()) {
// The shadow block is automatically replaced during unplug().
this.getInput('A').connection.connect(prevA.outputConnection);
}
@@ -569,7 +569,7 @@ Blockly.Constants.Logic.LOGIC_COMPARE_ONCHANGE_MIXIN = {
var prevB = this.prevBlocks_[1];
if (prevB !== blockB) {
blockB.unplug();
if (prevB && !prevB.isShadow()) {
if (prevB && !prevB.isDisposed() && !prevB.isShadow()) {
// The shadow block is automatically replaced during unplug().
this.getInput('B').connection.connect(prevB.outputConnection);
}

View File

@@ -843,6 +843,14 @@ Blockly.Block.prototype.setEditable = function(editable) {
}
};
/**
* Returns if this block has been disposed of / deleted.
* @return {boolean} True if this block has been disposed of / deleted.
*/
Blockly.Block.prototype.isDisposed = function() {
return this.disposed;
};
/**
* Find the connection on this block that corresponds to the given connection
* on the other block.