Skip to content

Commit

Permalink
Merge pull request #1644 from rachel-fenichel/bugfix/1642
Browse files Browse the repository at this point in the history
Serialize variable IDs in procedure definitions
  • Loading branch information
rachel-fenichel authored Feb 20, 2018
2 parents 8fcdbf0 + 74fd581 commit c4d114e
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions blocks/procedures.js
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,11 @@ Blockly.Blocks['procedures_defnoreturn'] = {
if (opt_paramIds) {
container.setAttribute('name', this.getFieldValue('NAME'));
}
for (var i = 0; i < this.arguments_.length; i++) {
for (var i = 0; i < this.argumentVarModels_.length; i++) {
var parameter = document.createElement('arg');
parameter.setAttribute('name', this.arguments_[i]);
var argModel = this.argumentVarModels_[i];
parameter.setAttribute('name', argModel.name);
parameter.setAttribute('varId', argModel.getId());
if (opt_paramIds && this.paramIds_) {
parameter.setAttribute('paramId', this.paramIds_[i]);
}
Expand All @@ -158,9 +160,10 @@ Blockly.Blocks['procedures_defnoreturn'] = {
for (var i = 0, childNode; childNode = xmlElement.childNodes[i]; i++) {
if (childNode.nodeName.toLowerCase() == 'arg') {
var varName = childNode.getAttribute('name');
var varId = childNode.getAttribute('varId');
this.arguments_.push(varName);
var variable = Blockly.Variables.getOrCreateVariablePackage(
this.workspace, null, varName, '');
this.workspace, varId, varName, '');
this.argumentVarModels_.push(variable);
}
}
Expand Down

0 comments on commit c4d114e

Please sign in to comment.