diff options
-rw-r--r-- | src/gallium/state_trackers/python/gallium.i | 3 | ||||
-rw-r--r-- | src/gallium/state_trackers/python/p_texture.i | 15 |
2 files changed, 8 insertions, 10 deletions
diff --git a/src/gallium/state_trackers/python/gallium.i b/src/gallium/state_trackers/python/gallium.i index 8b43c1721e..4970819190 100644 --- a/src/gallium/state_trackers/python/gallium.i +++ b/src/gallium/state_trackers/python/gallium.i @@ -37,7 +37,6 @@ %{ #include <stdio.h> -#include <Python.h> #include "pipe/p_screen.h" #include "pipe/p_context.h" @@ -58,7 +57,7 @@ %} %include "typemaps.i" - +%include "exception.i" %include "cstring.i" %include "carrays.i" diff --git a/src/gallium/state_trackers/python/p_texture.i b/src/gallium/state_trackers/python/p_texture.i index 63c63db9eb..b03054adcc 100644 --- a/src/gallium/state_trackers/python/p_texture.i +++ b/src/gallium/state_trackers/python/p_texture.i @@ -347,16 +347,15 @@ assert(p_atomic_read(&$self->reference.count) > 0); - if(offset > $self->size) { - PyErr_SetString(PyExc_ValueError, "offset must be smaller than buffer size"); - return; - } + if(offset > $self->size) + SWIG_exception(SWIG_ValueError, "offset must be smaller than buffer size"); - if(offset + LENGTH > $self->size) { - PyErr_SetString(PyExc_ValueError, "data length must fit inside the buffer"); - return; - } + if(offset + LENGTH > $self->size) + SWIG_exception(SWIG_ValueError, "data length must fit inside the buffer"); pipe_buffer_write(screen, $self, offset, LENGTH, STRING); + +fail: + return; } }; |