diff -urN openglide_org/grguBuffer.cpp openglide/grguBuffer.cpp --- openglide_org/grguBuffer.cpp 2009-02-15 23:53:23.000000000 +0100 +++ openglide/grguBuffer.cpp 2010-10-26 14:22:27.000000000 +0200 @@ -98,6 +98,13 @@ OGLRender.FrameTriangles = 0; #endif + // Carmageddon never unlocks the buffer before calling BufferSwap + if ( Glide.DstBuffer.Lock ) + { + grLfbUnlock ( Glide.DstBuffer.Type, Glide.DstBuffer.Buffer ); + Glide.DstBuffer.Lock = true; // Re-lock the buffer + } + SwapBuffers( ); #ifdef OGL_DEBUG