Переглянути джерело

Merge pull request #187 from SmilyOrg/patch-2

Fix for crash with too many lines / vertices
Branimir Karadžić 11 роки тому
батько
коміт
cf7b1542d2
1 змінених файлів з 10 додано та 0 видалено
  1. 10 0
      examples/common/nanovg/nanovg_bgfx.cpp

+ 10 - 0
examples/common/nanovg/nanovg_bgfx.cpp

@@ -30,6 +30,8 @@
 
 #include <bgfx.h>
 
+#include <bx\bx.h>
+
 namespace
 {
 #include "vs_nanovg_fill.bin.h"
@@ -687,6 +689,14 @@ namespace
 		if (gl->ncalls > 0)
 		{
 			bgfx::allocTransientVertexBuffer(&gl->tvb, gl->nverts, s_nvgDecl);
+			
+			int allocated = gl->tvb.size/gl->tvb.stride;
+			
+			if (allocated < gl->nverts) {
+				gl->nverts = allocated;
+				BX_WARN(true, "Vertex number truncated due to transient vertex buffer overflow");
+			}
+			
 
 			memcpy(gl->tvb.data, gl->verts, gl->nverts * sizeof(struct NVGvertex) );