aboutsummaryrefslogtreecommitdiffstats
path: root/PySide/QtCore
diff options
context:
space:
mode:
authorPaulo Alcantara <pcacjr@gmail.com>2011-12-01 13:32:18 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:56:17 -0300
commite2524f6abb6c00695edce5be26a7d6fc7b71c5fe (patch)
tree639baf7e393e1b697d28cc992fe316552e5b149f /PySide/QtCore
parent4985f114a30d5ce0de2a5402d3f2be3d97a93dc4 (diff)
Fix BUG #1034 - "Error compiling PySide with Python 3.2.2 32bit on Windows"
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com> Reviewer: Marcelo Lira <marcelo.lira@openbossa.org> Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'PySide/QtCore')
-rw-r--r--PySide/QtCore/glue/hwnd_conversions.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/PySide/QtCore/glue/hwnd_conversions.h b/PySide/QtCore/glue/hwnd_conversions.h
index 65b95e2fd..6dbaa8f4e 100644
--- a/PySide/QtCore/glue/hwnd_conversions.h
+++ b/PySide/QtCore/glue/hwnd_conversions.h
@@ -9,7 +9,14 @@ struct Converter<HWND>
static bool isConvertible(PyObject* pyobj)
{
+ if (pyobj == Py_None)
+ return true;
+
+#ifdef IS_PY3K
+ return PyCapsule_CheckExact(pyobj);
+#else
return PyCObject_Check(pyobj);
+#endif
}
static inline PyObject* toPython(void* cppobj)
@@ -21,12 +28,27 @@ struct Converter<HWND>
static PyObject* toPython(HWND cppobj)
{
+ if (!cppobj)
+ Py_RETURN_NONE;
+
+#ifdef IS_PY3K
+ return PyCapsule_New(cppobj, 0, 0);
+#else
return PyCObject_FromVoidPtr(cppobj, 0);
+#endif
}
static HWND toCpp(PyObject* pyobj)
{
+ if (pyobj == Py_None)
+ return 0;
+
+#ifdef IS_PY3K
+ return (HWND)PyCapsule_GetPointer(pyobj, 0);
+#else
return (HWND)PyCObject_AsVoidPtr(pyobj);
+#endif
}
};
+
}