From 6d382c2f0c6dec8c3064af96f2c30f9fe300e5a5 Mon Sep 17 00:00:00 2001 From: bjorn Date: Thu, 2 Mar 2023 18:30:14 -0800 Subject: [PATCH] Ensure blank images are cleared to zero; This was an unintended change in v0.16.0. --- src/api/l_data.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/api/l_data.c b/src/api/l_data.c index 491a9727..29166c29 100644 --- a/src/api/l_data.c +++ b/src/api/l_data.c @@ -107,12 +107,14 @@ static int l_lovrDataNewImage(lua_State* L) { uint32_t height = luax_checku32(L, 2); TextureFormat format = luax_checkenum(L, 3, TextureFormat, "rgba8"); image = lovrImageCreateRaw(width, height, format); + size_t size = lovrImageGetLayerSize(image, 0); + void* data = lovrImageGetLayerData(image, 0, 0); if (lua_gettop(L) >= 4) { Blob* blob = luax_checktype(L, 4, Blob); - size_t size = lovrImageGetLayerSize(image, 0); - void* data = lovrImageGetLayerData(image, 0, 0); lovrCheck(blob->size == size, "Blob size (%d) does not match the Image size (%d)", blob->size, size); memcpy(data, blob->data, size); + } else { + memset(data, 0, size); } } else { Image* source = luax_totype(L, 1, Image);