Browse Source

Merge pull request #1092 from jdryg/nanovg_update_image_fix

nvgRenderUpdateTexture() was reading past the end of the data buffer.
Branimir Karadžić 8 years ago
parent
commit
acdbb5d01a
1 changed files with 5 additions and 2 deletions
  1. 5 2
      examples/common/nanovg/nanovg_bgfx.cpp

+ 5 - 2
examples/common/nanovg/nanovg_bgfx.cpp

@@ -363,6 +363,9 @@ namespace
 		uint32_t bytesPerPixel = NVG_TEXTURE_RGBA == tex->type ? 4 : 1;
 		uint32_t pitch = tex->width * bytesPerPixel;
 
+		const bgfx::Memory* mem = bgfx::alloc(w * h * bytesPerPixel);
+		bx::gather(mem->data, data + y * pitch + x * bytesPerPixel, w * bytesPerPixel, h, pitch);
+
 		bgfx::updateTexture2D(
 			  tex->id
 			, 0
@@ -371,8 +374,8 @@ namespace
 			, y
 			, w
 			, h
-			, bgfx::copy(data + y*pitch + x*bytesPerPixel, h*pitch)
-			, pitch
+			, mem
+			, UINT16_MAX
 			);
 
 		return 1;