From b8935be2c320722526e1748602604d77d9394e2f Mon Sep 17 00:00:00 2001 From: rdb Date: Sun, 9 Feb 2014 10:41:26 +0000 Subject: [PATCH] fix bug LP#1277916: MeshDrawer causes crash if setBudget not explicitly called --- panda/src/grutil/meshDrawer.I | 1 + panda/src/grutil/meshDrawer.cxx | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/panda/src/grutil/meshDrawer.I b/panda/src/grutil/meshDrawer.I index 1e22a653e9..e1aeace6e8 100644 --- a/panda/src/grutil/meshDrawer.I +++ b/panda/src/grutil/meshDrawer.I @@ -29,6 +29,7 @@ MeshDrawer() { _uv = NULL; _color = NULL; _budget = 5000; + _vdata = NULL; } //////////////////////////////////////////////////////////////////// diff --git a/panda/src/grutil/meshDrawer.cxx b/panda/src/grutil/meshDrawer.cxx index 8aeb9d7d65..e270a43786 100644 --- a/panda/src/grutil/meshDrawer.cxx +++ b/panda/src/grutil/meshDrawer.cxx @@ -110,6 +110,11 @@ void MeshDrawer::begin(NodePath camera, NodePath render) { if (_normal != NULL) delete _normal; if (_uv != NULL) delete _uv; if (_color != NULL) delete _color; + + if (_vdata == NULL) { + generator(_budget); + } + _vertex = new GeomVertexRewriter(_vdata, "vertex"); _uv = new GeomVertexRewriter(_vdata, "texcoord"); _normal = new GeomVertexRewriter(_vdata, "normal");