From 04ea0f1397b801a1984a3cca77b908aec1596ba9 Mon Sep 17 00:00:00 2001 From: Beka Westberg Date: Tue, 17 Nov 2020 13:32:36 -0800 Subject: [PATCH] Fixes mutators considering insertion markers during compose (#4449) * Fix markers for lists, logic, and text * Fix insertion markers in procedure mutators --- blocks/lists.js | 2 +- blocks/logic.js | 2 +- blocks/procedures.js | 2 +- blocks/text.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/blocks/lists.js b/blocks/lists.js index 44167685e..37c53ee98 100644 --- a/blocks/lists.js +++ b/blocks/lists.js @@ -176,7 +176,7 @@ Blockly.Blocks['lists_create_with'] = { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; - while (itemBlock) { + while (itemBlock && !itemBlock.isInsertionMarker()) { connections.push(itemBlock.valueConnection_); itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock(); diff --git a/blocks/logic.js b/blocks/logic.js index afec94d3f..c45089dec 100644 --- a/blocks/logic.js +++ b/blocks/logic.js @@ -365,7 +365,7 @@ Blockly.Constants.Logic.CONTROLS_IF_MUTATOR_MIXIN = { var valueConnections = [null]; var statementConnections = [null]; var elseStatementConnection = null; - while (clauseBlock) { + while (clauseBlock && !clauseBlock.isInsertionMarker()) { switch (clauseBlock.type) { case 'controls_if_elseif': this.elseifCount_++; diff --git a/blocks/procedures.js b/blocks/procedures.js index ad5d78042..242fa4f0b 100644 --- a/blocks/procedures.js +++ b/blocks/procedures.js @@ -214,7 +214,7 @@ Blockly.Blocks['procedures_defnoreturn'] = { this.paramIds_ = []; this.argumentVarModels_ = []; var paramBlock = containerBlock.getInputTargetBlock('STACK'); - while (paramBlock) { + while (paramBlock && !paramBlock.isInsertionMarker()) { var varName = paramBlock.getFieldValue('NAME'); this.arguments_.push(varName); var variable = this.workspace.getVariable(varName, ''); diff --git a/blocks/text.js b/blocks/text.js index 65710f1aa..9e806be92 100644 --- a/blocks/text.js +++ b/blocks/text.js @@ -722,7 +722,7 @@ Blockly.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN = { var itemBlock = containerBlock.getInputTargetBlock('STACK'); // Count number of inputs. var connections = []; - while (itemBlock) { + while (itemBlock && !itemBlock.isInsertionMarker()) { connections.push(itemBlock.valueConnection_); itemBlock = itemBlock.nextConnection && itemBlock.nextConnection.targetBlock();