[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20387] trunk/blender/source/gameengine/ VideoTexture: VideoTexture: exception in C++ was not returning an error in Python.
Benoit Bolsee
benoit.bolsee at online.be
Mon May 25 01:12:38 CEST 2009
Revision: 20387
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20387
Author: ben2610
Date: 2009-05-25 01:12:38 +0200 (Mon, 25 May 2009)
Log Message:
-----------
VideoTexture: exception in C++ was not returning an error in Python. Added function name ini PyArg_ParseTuple.
Modified Paths:
--------------
trunk/blender/source/gameengine/VideoTexture/ImageBase.cpp
trunk/blender/source/gameengine/VideoTexture/ImageBuff.cpp
trunk/blender/source/gameengine/VideoTexture/ImageMix.cpp
trunk/blender/source/gameengine/VideoTexture/Texture.cpp
trunk/blender/source/gameengine/VideoTexture/VideoFFmpeg.cpp
trunk/blender/source/gameengine/VideoTexture/blendVideoTex.cpp
Modified: trunk/blender/source/gameengine/VideoTexture/ImageBase.cpp
===================================================================
--- trunk/blender/source/gameengine/VideoTexture/ImageBase.cpp 2009-05-24 23:05:27 UTC (rev 20386)
+++ trunk/blender/source/gameengine/VideoTexture/ImageBase.cpp 2009-05-24 23:12:38 UTC (rev 20387)
@@ -437,7 +437,9 @@
{
// get arguments
char * id;
- if (self->m_image != NULL && PyArg_ParseTuple(args, "s", &id))
+ if (!PyArg_ParseTuple(args, "s:getSource", &id))
+ return NULL;
+ if (self->m_image != NULL)
{
// get source object
PyObject * src = reinterpret_cast<PyObject*>(self->m_image->getSource(id));
@@ -460,7 +462,9 @@
// get arguments
char * id;
PyObject * obj;
- if (self->m_image != NULL && PyArg_ParseTuple(args, "sO", &id, &obj))
+ if (!PyArg_ParseTuple(args, "sO:setSource", &id, &obj))
+ return NULL;
+ if (self->m_image != NULL)
{
// check type of object
if (pyImageTypes.in(obj->ob_type))
Modified: trunk/blender/source/gameengine/VideoTexture/ImageBuff.cpp
===================================================================
--- trunk/blender/source/gameengine/VideoTexture/ImageBuff.cpp 2009-05-24 23:05:27 UTC (rev 20386)
+++ trunk/blender/source/gameengine/VideoTexture/ImageBuff.cpp 2009-05-24 23:12:38 UTC (rev 20387)
@@ -71,10 +71,9 @@
short width;
short height;
// parse parameters
- if (!PyArg_ParseTuple(args, "s#hh", &buff, &buffSize, &width, &height))
+ if (!PyArg_ParseTuple(args, "s#hh:load", &buff, &buffSize, &width, &height))
{
// report error
- PyErr_SetString(PyExc_TypeError, "Parameters are not correct");
return NULL;
}
// else check buffer size
Modified: trunk/blender/source/gameengine/VideoTexture/ImageMix.cpp
===================================================================
--- trunk/blender/source/gameengine/VideoTexture/ImageMix.cpp 2009-05-24 23:05:27 UTC (rev 20386)
+++ trunk/blender/source/gameengine/VideoTexture/ImageMix.cpp 2009-05-24 23:12:38 UTC (rev 20387)
@@ -109,7 +109,9 @@
short weight = 0;
// get arguments
char * id;
- if (self->m_image != NULL && PyArg_ParseTuple(args, "s", &id))
+ if (!PyArg_ParseTuple(args, "s:getWeight", &id))
+ return NULL;
+ if (self->m_image != NULL)
// get weight
weight = getImageMix(self)->getWeight(id);
// return weight
@@ -123,7 +125,9 @@
// get arguments
char * id;
short weight = 0;
- if (self->m_image != NULL && PyArg_ParseTuple(args, "sh", &id, &weight))
+ if (!PyArg_ParseTuple(args, "sh:setWeight", &id, &weight))
+ return NULL;
+ if (self->m_image != NULL)
// set weight
if (!getImageMix(self)->setWeight(id, weight))
{
Modified: trunk/blender/source/gameengine/VideoTexture/Texture.cpp
===================================================================
--- trunk/blender/source/gameengine/VideoTexture/Texture.cpp 2009-05-24 23:05:27 UTC (rev 20386)
+++ trunk/blender/source/gameengine/VideoTexture/Texture.cpp 2009-05-24 23:12:38 UTC (rev 20387)
@@ -51,7 +51,7 @@
// macro for exception handling and logging
#define CATCH_EXCP catch (Exception & exp) \
-{ exp.report(); }
+{ exp.report(); return NULL; }
// Blender GameObject type
@@ -280,7 +280,7 @@
{
// get parameter - refresh source
PyObject * param;
- if (!PyArg_ParseTuple(args, "O", ¶m) || !PyBool_Check(param))
+ if (!PyArg_ParseTuple(args, "O:refresh", ¶m) || !PyBool_Check(param))
{
// report error
PyErr_SetString(PyExc_TypeError, "The value must be a bool");
Modified: trunk/blender/source/gameengine/VideoTexture/VideoFFmpeg.cpp
===================================================================
--- trunk/blender/source/gameengine/VideoTexture/VideoFFmpeg.cpp 2009-05-24 23:05:27 UTC (rev 20386)
+++ trunk/blender/source/gameengine/VideoTexture/VideoFFmpeg.cpp 2009-05-24 23:12:38 UTC (rev 20387)
@@ -1178,7 +1178,7 @@
char * file = NULL;
// get parameters
- if (!PyArg_ParseTuple(args, "s", &file))
+ if (!PyArg_ParseTuple(args, "s:ImageFFmpeg", &file))
return -1;
try
@@ -1203,8 +1203,9 @@
PyObject * Image_reload (PyImage * self, PyObject *args)
{
char * newname = NULL;
-
- if (self->m_image != NULL && PyArg_ParseTuple(args, "|s", &newname))
+ if (!PyArg_ParseTuple(args, "|s:reload", &newname))
+ return NULL;
+ if (self->m_image != NULL)
{
VideoFFmpeg* video = getFFmpeg(self);
// check type of object
Modified: trunk/blender/source/gameengine/VideoTexture/blendVideoTex.cpp
===================================================================
--- trunk/blender/source/gameengine/VideoTexture/blendVideoTex.cpp 2009-05-24 23:05:27 UTC (rev 20386)
+++ trunk/blender/source/gameengine/VideoTexture/blendVideoTex.cpp 2009-05-24 23:12:38 UTC (rev 20387)
@@ -74,7 +74,7 @@
static PyObject * setLogFile (PyObject *self, PyObject *args)
{
// get parameters
- if (!PyArg_ParseTuple(args, "s", &Exception::m_logFile))
+ if (!PyArg_ParseTuple(args, "s:setLogFile", &Exception::m_logFile))
return Py_BuildValue("i", -1);
// log file was loaded
return Py_BuildValue("i", 0);
@@ -86,7 +86,7 @@
{
// parameter is Image object
PyObject * pyImg;
- if (!PyArg_ParseTuple(args, "O", &pyImg) || !pyImageTypes.in(pyImg->ob_type))
+ if (!PyArg_ParseTuple(args, "O:imageToArray", &pyImg) || !pyImageTypes.in(pyImg->ob_type))
{
// if object is incorect, report error
PyErr_SetString(PyExc_TypeError, "VideoTexture.imageToArray(image): The value must be a image source object");
More information about the Bf-blender-cvs
mailing list