diff options
author | Brian Paul <[email protected]> | 2013-05-01 19:15:32 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2013-05-02 09:03:15 -0600 |
commit | 94c7caf406debc0d35153267f491e30a203f9a72 (patch) | |
tree | f6eceb3e8ebb4d0ef96cf1968f7ae050be0c97ef | |
parent | c1a5c5c13d838309cf88664edf159e6086408f28 (diff) |
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 <[email protected]>
-rw-r--r-- | src/mesa/main/dlist.c | 6 |
1 files changed, 6 insertions, 0 deletions
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"); |