python: Cope with null surfaces.
[mesa.git] / src / gallium / state_trackers / python / p_state.i
index fc8607ba72ff9f75904a895355303d813c16b9a5..90f157e0ab0adcc24e2a5259974f8be478d35065 100644 (file)
       if(index >= PIPE_MAX_COLOR_BUFS)
          SWIG_exception(SWIG_ValueError, "index out of bounds");
       
-      _surface = st_pipe_surface(surface, PIPE_BUFFER_USAGE_GPU_WRITE);
-      if(!_surface)
-         SWIG_exception(SWIG_ValueError, "couldn't acquire surface for writing");
+      if(surface) {
+         _surface = st_pipe_surface(surface, PIPE_BUFFER_USAGE_GPU_WRITE);
+         if(!_surface)
+            SWIG_exception(SWIG_ValueError, "couldn't acquire surface for writing");
+      }
 
       pipe_surface_reference(&$self->cbufs[index], _surface);
       
    {
       struct pipe_surface *_surface = NULL;
 
-      _surface = st_pipe_surface(surface, PIPE_BUFFER_USAGE_GPU_WRITE);
-      if(!_surface)
-         SWIG_exception(SWIG_ValueError, "couldn't acquire surface for writing");
+      if(surface) {
+         _surface = st_pipe_surface(surface, PIPE_BUFFER_USAGE_GPU_WRITE);
+         if(!_surface)
+            SWIG_exception(SWIG_ValueError, "couldn't acquire surface for writing");
+      }
 
       pipe_surface_reference(&$self->zsbuf, _surface);