From c92a5182185ba11dd54c2d03d409694a2838cf78 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Thu, 26 Dec 2024 19:07:26 -0500 Subject: [PATCH] Fix deserialization of ArrayBuffer shared by multiple TypedArrays Deserialization failed to restore proper ArrayBuffer when used by multiple TypedArrays. This didn't affect uBO since this specific code path was never taken. --- src/js/s14e-serializer.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/js/s14e-serializer.js b/src/js/s14e-serializer.js index 8b1850f13..f88e5b5e2 100644 --- a/src/js/s14e-serializer.js +++ b/src/js/s14e-serializer.js @@ -851,10 +851,11 @@ const _deserialize = ( ) => { case I_DATAVIEW: { const byteOffset = deserializeLargeUint(); const length = deserializeLargeUint(); + const ref = refCounter++; const arrayBuffer = _deserialize(); const ctor = toArrayBufferViewConstructor[`${type}`]; const out = new ctor(arrayBuffer, byteOffset, length); - readRefs.set(refCounter++, out); + readRefs.set(ref, out); return out; } default: