From 180926ee77d9ba87e80528895a03f3ff585b67e5 Mon Sep 17 00:00:00 2001 From: Sam El-Husseini Date: Tue, 14 Jan 2020 13:10:34 -0800 Subject: [PATCH] Fix duplicate variable model type (#3594) * Resolve duplicate empty var type when returning list of variableModel's types. --- core/variable_map.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/core/variable_map.js b/core/variable_map.js index 0353fcde8..dc8bf709e 100644 --- a/core/variable_map.js +++ b/core/variable_map.js @@ -28,6 +28,7 @@ goog.require('Blockly.Events.VarDelete'); goog.require('Blockly.Events.VarRename'); goog.require('Blockly.Msg'); goog.require('Blockly.utils'); +goog.require('Blockly.utils.object'); /** @@ -355,11 +356,13 @@ Blockly.VariableMap.prototype.getVariablesOfType = function(type) { * @package */ Blockly.VariableMap.prototype.getVariableTypes = function(ws) { - var potentialTypes = []; + var variableMap = {}; + Blockly.utils.object.mixin(variableMap, this.variableMap_); if (ws && ws.getPotentialVariableMap()) { - potentialTypes = Object.keys(ws.getPotentialVariableMap().variableMap_); + Blockly.utils.object.mixin(variableMap, + ws.getPotentialVariableMap().variableMap_); } - var types = Object.keys(this.variableMap_).concat(potentialTypes); + var types = Object.keys(variableMap); var hasEmpty = false; for (var i = 0; i < types.length; i++) { if (types[i] == '') {