Skip to content
Snippets Groups Projects
Commit 5561b158 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

fix potential vc++ crashes

parent f0069ce5
No related branches found
No related tags found
No related merge requests found
...@@ -190,13 +190,12 @@ class drawGFace { ...@@ -190,13 +190,12 @@ class drawGFace {
void _drawVertexArray(VertexArray *va, bool useNormalArray, int forceColor=0, void _drawVertexArray(VertexArray *va, bool useNormalArray, int forceColor=0,
unsigned int color=0) unsigned int color=0)
{ {
if(!va) return; if(!va || !va->getNumVertices()) return;
glVertexPointer(3, GL_FLOAT, 0, va->getVertexArray()); glVertexPointer(3, GL_FLOAT, 0, va->getVertexArray());
glNormalPointer(GL_BYTE, 0, va->getNormalArray());
glColorPointer(4, GL_UNSIGNED_BYTE, 0, va->getColorArray());
glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_VERTEX_ARRAY);
if(useNormalArray){ if(useNormalArray){
glEnable(GL_LIGHTING); glEnable(GL_LIGHTING);
glNormalPointer(GL_BYTE, 0, va->getNormalArray());
glEnableClientState(GL_NORMAL_ARRAY); glEnableClientState(GL_NORMAL_ARRAY);
} }
else else
...@@ -206,6 +205,7 @@ class drawGFace { ...@@ -206,6 +205,7 @@ class drawGFace {
glColor4ubv((GLubyte *) & color); glColor4ubv((GLubyte *) & color);
} }
else{ else{
glColorPointer(4, GL_UNSIGNED_BYTE, 0, va->getColorArray());
glEnableClientState(GL_COLOR_ARRAY); glEnableClientState(GL_COLOR_ARRAY);
} }
if(CTX.polygon_offset) glEnable(GL_POLYGON_OFFSET_FILL); if(CTX.polygon_offset) glEnable(GL_POLYGON_OFFSET_FILL);
......
...@@ -985,7 +985,7 @@ static void addElementsInArrays(PView *p, bool preprocessNormalsOnly) ...@@ -985,7 +985,7 @@ static void addElementsInArrays(PView *p, bool preprocessNormalsOnly)
static void drawArrays(PView *p, VertexArray *va, GLint type, bool useNormalArray) static void drawArrays(PView *p, VertexArray *va, GLint type, bool useNormalArray)
{ {
if(!va) return; if(!va || !va->getNumVertices()) return;
PViewOptions *opt = p->getOptions(); PViewOptions *opt = p->getOptions();
...@@ -1033,15 +1033,15 @@ static void drawArrays(PView *p, VertexArray *va, GLint type, bool useNormalArra ...@@ -1033,15 +1033,15 @@ static void drawArrays(PView *p, VertexArray *va, GLint type, bool useNormalArra
} }
else{ else{
glVertexPointer(3, GL_FLOAT, 0, va->getVertexArray()); glVertexPointer(3, GL_FLOAT, 0, va->getVertexArray());
glNormalPointer(GL_BYTE, 0, va->getNormalArray());
glColorPointer(4, GL_UNSIGNED_BYTE, 0, va->getColorArray());
glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_VERTEX_ARRAY);
if(useNormalArray){ if(useNormalArray){
glEnable(GL_LIGHTING); glEnable(GL_LIGHTING);
glNormalPointer(GL_BYTE, 0, va->getNormalArray());
glEnableClientState(GL_NORMAL_ARRAY); glEnableClientState(GL_NORMAL_ARRAY);
} }
else else
glDisableClientState(GL_NORMAL_ARRAY); glDisableClientState(GL_NORMAL_ARRAY);
glColorPointer(4, GL_UNSIGNED_BYTE, 0, va->getColorArray());
glEnableClientState(GL_COLOR_ARRAY); glEnableClientState(GL_COLOR_ARRAY);
glDrawArrays(type, 0, va->getNumVertices()); glDrawArrays(type, 0, va->getNumVertices());
glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_VERTEX_ARRAY);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment