Bladeren bron

Fixed issue #149.

Branimir Karadžić 11 jaren geleden
bovenliggende
commit
c627e55451
1 gewijzigde bestanden met toevoegingen van 7 en 3 verwijderingen
  1. 7 3
      examples/common/nanovg/nanovg_bgfx.cpp

+ 7 - 3
examples/common/nanovg/nanovg_bgfx.cpp

@@ -773,13 +773,17 @@ namespace
 		return ret;
 		return ret;
 	}
 	}
 
 
-	static int glnvg__allocVerts(struct GLNVGcontext* gl, int n)
+	static int glnvg__allocVerts(GLNVGcontext* gl, int n)
 	{
 	{
 		int ret = 0;
 		int ret = 0;
 		if (gl->nverts+n > gl->cverts)
 		if (gl->nverts+n > gl->cverts)
 		{
 		{
-			gl->cverts = gl->cverts == 0 ? glnvg__maxi(n, 256) : gl->cverts * 2;
-			gl->verts = (struct NVGvertex*)realloc(gl->verts, sizeof(struct NVGvertex) * gl->cverts);
+			NVGvertex* verts;
+			int cverts = glnvg__maxi(gl->nverts + n, 4096) + gl->cverts/2; // 1.5x Overallocate
+			verts = (NVGvertex*)realloc(gl->verts, sizeof(NVGvertex) * cverts);
+			if (verts == NULL) return -1;
+			gl->verts = verts;
+			gl->cverts = cverts;
 		}
 		}
 		ret = gl->nverts;
 		ret = gl->nverts;
 		gl->nverts += n;
 		gl->nverts += n;