diff options
author | Brian Paul <[email protected]> | 2008-09-16 13:23:01 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2008-09-16 13:23:01 -0600 |
commit | d43951192baa7b76d3e035d689f73c1d2955cddb (patch) | |
tree | 98c8fcb93c4ddebf2d010043dcadfecf6f71c768 /src/mesa | |
parent | 9d48a7832b78658d2422ae5a185276c41750010d (diff) |
mesa: fix display list regression (check if save->prim_count > 0 in vbo_save_EndList())
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/vbo/vbo_save_api.c | 12 |
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: |