OSDN Git Service

mesa: fix a recursive display list problem
authorBrian Paul <brianp@vmware.com>
Wed, 1 Apr 2009 23:34:16 +0000 (17:34 -0600)
committerBrian Paul <brianp@vmware.com>
Wed, 1 Apr 2009 23:39:26 +0000 (17:39 -0600)
This fixes an issue when compiling glCallList() into another display list
when the mode is GL_COMPILE_AND_EXECUTE.

Before, the call to glCallList() called _mesa_save_CallList() which called
neutral_CallList() which then called _mesa_save_CallList() again.  In the
end, the parent display list contained two calls to the child display list
instead of one.

Let's be on the lookout for regressions caused by this change for a while
before we cherry-pick this elsewhere.

src/mesa/main/dlist.c

index 8f7f703..537ff58 100644 (file)
@@ -975,7 +975,7 @@ _mesa_save_CallList(GLuint list)
    ctx->Driver.CurrentSavePrimitive = PRIM_UNKNOWN;
 
    if (ctx->ExecuteFlag) {
-      CALL_CallList(ctx->Exec, (list));
+      _mesa_CallList(list);
    }
 }