summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2008-09-16 13:23:01 -0600
committerBrian Paul <[email protected]>2008-09-16 13:23:01 -0600
commitd43951192baa7b76d3e035d689f73c1d2955cddb (patch)
tree98c8fcb93c4ddebf2d010043dcadfecf6f71c768 /src
parent9d48a7832b78658d2422ae5a185276c41750010d (diff)
mesa: fix display list regression (check if save->prim_count > 0 in vbo_save_EndList())
Diffstat (limited to 'src')
-rw-r--r--src/mesa/vbo/vbo_save_api.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c
index f93ef3a02a0..f69a33d8176 100644
--- a/src/mesa/vbo/vbo_save_api.c
+++ b/src/mesa/vbo/vbo_save_api.c
@@ -1049,12 +1049,14 @@ void vbo_save_EndList( GLcontext *ctx )
/* EndList called inside a (saved) Begin/End pair?
*/
if (ctx->Driver.CurrentSavePrimitive != PRIM_OUTSIDE_BEGIN_END) {
- GLint i = save->prim_count - 1;
- ctx->Driver.CurrentSavePrimitive = PRIM_OUTSIDE_BEGIN_END;
- save->prim[i].end = 0;
- save->prim[i].count = (save->vert_count -
- save->prim[i].start);
+ if (save->prim_count > 0) {
+ GLint i = save->prim_count - 1;
+ ctx->Driver.CurrentSavePrimitive = PRIM_OUTSIDE_BEGIN_END;
+ save->prim[i].end = 0;
+ save->prim[i].count = (save->vert_count -
+ save->prim[i].start);
+ }
/* Make sure this vertex list gets replayed by the "loopback"
* mechanism: