Mesa (master): python: Make swig bindings python independent.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Thu Mar 26 11:31:45 UTC 2009


Module: Mesa
Branch: master
Commit: bb84ce71593d79bae9e8a5a8bdd4b2bd6aba2c87
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb84ce71593d79bae9e8a5a8bdd4b2bd6aba2c87

Author: José Fonseca <jfonseca at vmware.com>
Date:   Thu Mar 26 11:29:59 2009 +0000

python: Make swig bindings python independent.

---

 src/gallium/state_trackers/python/gallium.i   |    3 +--
 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 8b43c17..4970819 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 63c63db..b03054a 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;
    }
 };




More information about the mesa-commit mailing list