From d1f9e9d8ec28915993033494b83d1ef3898ab062 Mon Sep 17 00:00:00 2001 From: Lian Duan Date: Mon, 29 Jul 2019 21:22:35 +0200 Subject: [PATCH] Use value ctor in case of message values in map --- js/map.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/map.js b/js/map.js index 734b1566f743a..50e6204bfc76e 100644 --- a/js/map.js +++ b/js/map.js @@ -475,6 +475,10 @@ jspb.Map.deserializeBinary = function(map, reader, keyReaderFn, valueReaderFn, var key = opt_defaultKey; var value = opt_defaultValue; + if (map.valueCtor_) { + value = new map.valueCtor_(); + } + while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -488,7 +492,6 @@ jspb.Map.deserializeBinary = function(map, reader, keyReaderFn, valueReaderFn, // Value. if (map.valueCtor_) { goog.asserts.assert(opt_valueReaderCallback); - value = new map.valueCtor_(); valueReaderFn.call(reader, value, opt_valueReaderCallback); } else { value =