From 25c72714cd6544f83b2a293155f7084af924e733 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 22 Jun 2017 09:54:00 +0100 Subject: [PATCH] Fix errors to be more friendly when converting QWidgets in python --- qrenderdoc/Code/pyrenderdoc/qrenderdoc.i | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/qrenderdoc/Code/pyrenderdoc/qrenderdoc.i b/qrenderdoc/Code/pyrenderdoc/qrenderdoc.i index 2e509b2ce..b4e979430 100644 --- a/qrenderdoc/Code/pyrenderdoc/qrenderdoc.i +++ b/qrenderdoc/Code/pyrenderdoc/qrenderdoc.i @@ -25,6 +25,10 @@ CONTAINER_TYPEMAPS(QMap) // pass QWidget objects to PySide %typemap(in) QWidget * { $1 = PythonContext::QWidgetFromPy($input); + if($input && !$1) + { + SWIG_exception_fail(SWIG_TypeError, "in method '$symname' QWidget expected for argument $argnum of type '$1_basetype'"); + } } %typemap(out) QWidget * { @@ -118,10 +122,10 @@ QWidget *UnwrapBareQWidget(PyObject *obj) res = SWIG_ConvertPtr(obj, (void **)&ret,SWIGTYPE_p_QWidget, 0); if(!SWIG_IsOK(res)) { - SWIG_exception_fail(SWIG_ArgError(res), "in method 'UnwrapBareQWidget'"); + return NULL; } -fail: - return NULL; + + return ret; } %} \ No newline at end of file