diff options
-rw-r--r-- | src/library_sdl.js | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/library_sdl.js b/src/library_sdl.js index cc969c27..fc38dd1c 100644 --- a/src/library_sdl.js +++ b/src/library_sdl.js @@ -1078,9 +1078,15 @@ var LibrarySDL = { } else { var data32 = new Uint32Array(data.buffer); num = data32.length; - while (dst < num) { - // HEAP32[src++] is an optimization. Instead, we could do {{{ makeGetValue('buffer', 'dst', 'i32') }}}; - data32[dst++] = HEAP32[src++] | (isScreen ? 0xff000000 : 0); + if (isScreen) { + while (dst < num) { + // HEAP32[src++] is an optimization. Instead, we could do {{{ makeGetValue('buffer', 'dst', 'i32') }}}; + data32[dst++] = HEAP32[src++] | 0xff000000; + } + } else { + while (dst < num) { + data32[dst++] = HEAP32[src++]; + } } } #else |