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