aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2011-07-21 14:28:55 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:17:03 -0300
commitec454186de25a3a032e7cbf965511913f0b23040 (patch)
tree6e58654660b8ff0133a16f9c03f23fe754583de6
parenta410f0533e918b3478d2d1cd421f2d273e57fb24 (diff)
Fix bug 939 - "Shiboken::importModule must verify if PyImport_ImportModule succeeds"
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org> Marcelo Lira <marcelo.lira@openbossa.org>
-rw-r--r--libshiboken/basewrapper.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/libshiboken/basewrapper.cpp b/libshiboken/basewrapper.cpp
index ddfc770ed..c1d30d101 100644
--- a/libshiboken/basewrapper.cpp
+++ b/libshiboken/basewrapper.cpp
@@ -358,10 +358,13 @@ bool importModule(const char* moduleName, PyTypeObject*** cppApiPtr)
{
PyObject* sysModules = PyImport_GetModuleDict();
PyObject* module = PyDict_GetItemString(sysModules, moduleName);
- if (!module)
+ if (!module) {
module = PyImport_ImportModule(moduleName);
- else
+ if (!module)
+ return false;
+ } else {
Py_INCREF(module);
+ }
Shiboken::AutoDecRef cppApi(PyObject_GetAttrString(module, "_Cpp_Api"));
Py_DECREF(module);