check for null program ptrs in _mesa_uniform()
diff --git a/src/mesa/shader/shader_api.c b/src/mesa/shader/shader_api.c
index 48ba8b6..924c9d5 100644
--- a/src/mesa/shader/shader_api.c
+++ b/src/mesa/shader/shader_api.c
@@ -961,8 +961,10 @@
    }
 
    if (shProg->Uniforms->Parameters[location].Type == PROGRAM_SAMPLER) {
-      _slang_resolve_samplers(shProg, &shProg->VertexProgram->Base);
-      _slang_resolve_samplers(shProg, &shProg->FragmentProgram->Base);
+      if (shProg->VertexProgram)
+         _slang_resolve_samplers(shProg, &shProg->VertexProgram->Base);
+      if (shProg->FragmentProgram)
+         _slang_resolve_samplers(shProg, &shProg->FragmentProgram->Base);
       FLUSH_VERTICES(ctx, _NEW_TEXTURE);
    }
 }