From 94c7caf406debc0d35153267f491e30a203f9a72 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 1 May 2013 19:15:32 -0600 Subject: [PATCH] mesa: add missing error check in _mesa_EndList() If we're in GL_COMPILE_AND_EXECUTE mode and inside glBegin, calling glEndList() should generate an error. Fixes a failure in piglit's gl-1.0-beginend-coverage test. Reviewed-by: Jose Fonseca --- src/mesa/main/dlist.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 3dd676bc23b..882163e51ad 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -8652,6 +8652,12 @@ _mesa_EndList(void) if (MESA_VERBOSE & VERBOSE_API) _mesa_debug(ctx, "glEndList\n"); + if (ctx->ExecuteFlag && _mesa_inside_dlist_begin_end(ctx) + && ctx->Driver.CurrentSavePrimitive != PRIM_UNKNOWN) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glEndList() called inside glBegin/End"); + } + /* Check that a list is under construction */ if (!ctx->ListState.CurrentList) { _mesa_error(ctx, GL_INVALID_OPERATION, "glEndList"); -- 2.30.2