Original Post
This is probably a dumb question but does glPushClientAttrib save which arrays (vertex, normal, etc ) have been enabled with a glEnableClientState? So you could do something like glPushClientAttrib( GL_CLIENT_VERTEX_ARRAY_BIT ) // enable/disable whatever glPopClientAttrib() and at this point have everything back to normal ( before the push )