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();