From 4bc64d4de94c2aabe27e4e4b512f5134e3395fa4 Mon Sep 17 00:00:00 2001 From: rdb Date: Tue, 8 Dec 2015 15:54:18 +0100 Subject: [PATCH 1/3] Increase version number on 1.9 branch to 1.9.2 --- dtool/PandaVersion.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dtool/PandaVersion.pp b/dtool/PandaVersion.pp index 47a4bfbfad..d6461256ad 100644 --- a/dtool/PandaVersion.pp +++ b/dtool/PandaVersion.pp @@ -3,7 +3,7 @@ // ppremake scripts for Panda. // Use spaces to separate the major, minor, and sequence numbers here. -#define PANDA_VERSION 1 9 1 +#define PANDA_VERSION 1 9 2 // This variable will be defined to false in the CVS repository, but // scripts that generate source tarballs and/or binary releases for From c2b44b57c9f07b574a2edd340a68a096523ad74a Mon Sep 17 00:00:00 2001 From: rdb Date: Wed, 9 Dec 2015 22:45:34 +0100 Subject: [PATCH 2/3] Fix crash on very, very, old OpenGL versions --- panda/src/glstuff/glGraphicsStateGuardian_src.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/panda/src/glstuff/glGraphicsStateGuardian_src.cxx b/panda/src/glstuff/glGraphicsStateGuardian_src.cxx index 2d0c82e0b9..d5b6156800 100644 --- a/panda/src/glstuff/glGraphicsStateGuardian_src.cxx +++ b/panda/src/glstuff/glGraphicsStateGuardian_src.cxx @@ -1604,6 +1604,9 @@ reset() { _glGetFramebufferAttachmentParameteriv = glGetFramebufferAttachmentParameteriv; _glGenerateMipmap = glGenerateMipmap; #else + // Make sure this is properly initialized. + _glGenerateMipmap = NULL; + //TODO: add ARB/3.0 version _supports_framebuffer_object = false; From 8e772366b1ffce1d607a99d8841e02a72d03b208 Mon Sep 17 00:00:00 2001 From: tobspr Date: Wed, 9 Dec 2015 20:46:19 +0100 Subject: [PATCH 3/3] Fix unitialized memory in nurbsVertex, prevent division by zero in NurbsCurveEvaluator --- panda/src/parametrics/nurbsCurveEvaluator.cxx | 9 +++++++-- panda/src/parametrics/nurbsVertex.I | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/panda/src/parametrics/nurbsCurveEvaluator.cxx b/panda/src/parametrics/nurbsCurveEvaluator.cxx index 4e4cb4d3a0..62af13e595 100644 --- a/panda/src/parametrics/nurbsCurveEvaluator.cxx +++ b/panda/src/parametrics/nurbsCurveEvaluator.cxx @@ -244,8 +244,13 @@ get_vertices(NurbsCurveEvaluator::Vert3Array &verts, const NodePath &rel_to) con int vi; for (vi = 0; vi < num_vertices; vi++) { LVecBase4 vertex = get_vertex(vi, rel_to); - LPoint3 v3(vertex[0] / vertex[3], vertex[1] / vertex[3], vertex[2] / vertex[3]); - verts.push_back(v3); + // Avoid division by zero + if (vertex[3] == 0.0) { + verts.push_back(LPoint3(vertex[0], vertex[1], vertex[2])); + } else { + LPoint3 v3(vertex[0] / vertex[3], vertex[1] / vertex[3], vertex[2] / vertex[3]); + verts.push_back(v3); + } } } diff --git a/panda/src/parametrics/nurbsVertex.I b/panda/src/parametrics/nurbsVertex.I index 8370cf20f3..a054d7623a 100644 --- a/panda/src/parametrics/nurbsVertex.I +++ b/panda/src/parametrics/nurbsVertex.I @@ -20,6 +20,7 @@ //////////////////////////////////////////////////////////////////// INLINE NurbsVertex:: NurbsVertex() { + _vertex.set(0, 0, 0, 1); } ////////////////////////////////////////////////////////////////////