Commit 82f1ab11 authored by Paul Kendall's avatar Paul Kendall

Fix the logic block to bump the correct block.

Previously it was always bumping the first block added
even if you are putting the new block over the first block, so it
bumped the new block as well.
parent 984d3559
......@@ -312,19 +312,18 @@ Blockly.Blocks['logic_compare'] = {
}
var blockA = this.getInputTargetBlock('A');
var blockB = this.getInputTargetBlock('B');
// Keep track of which block was added second
// (so the first block may be ejected upon mismatch).
if (blockA && !blockB) {
this.blockAPriority_ = false;
} else if (!blockA && blockB) {
this.blockAPriority_ = true;
} else if (blockA && blockB &&
// Kick blocks that existed prior to this change if they don't match
if (this.blocks_ && blockA && blockB &&
!blockA.outputConnection.checkType_(blockB.outputConnection)) {
// Mismatch between two inputs. Disconnect one and bump it away.
var child = this.blockAPriority_ ? blockB : blockA;
child.setParent(null);
child.bumpNeighbours_();
// Mismatch between two inputs. Disconnect previous and bump it away.
goog.array.forEach(this.blocks_, function(e) {
if (e === blockA || e === blockB) {
e.setParent(null);
e.bumpNeighbours_();
}
});
}
this.blocks_ = [blockA, blockB];
}
};
......
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