mesa: number of combiner terms to pop depends on GL_NV_texture_env_combine4

If GL_NV_texture_env_combine4 is not supported, setting the fourth
combiner term would generate a GL error.
Of course, I noticed this right after committing the previous patch
to use a loop in the first place.  <sigh>

Note that GL_EXT_texture_env_combine is always supported so the first
three combiner terms are always accepted.
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index df7116e..e67957d 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -720,8 +720,9 @@
       _mesa_TexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA,
 		    unit->Combine.ModeA);
       {
+         const GLuint n = ctx->Extensions.NV_texture_env_combine4 ? 4 : 3;
          GLuint i;
-         for (i = 0; i < MAX_COMBINER_TERMS; i++) {
+         for (i = 0; i < n; i++) {
             _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB + i,
                           unit->Combine.SourceRGB[i]);
             _mesa_TexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA + i,