aboutsummaryrefslogtreecommitdiffstats
path: root/PySide/QtCore
diff options
context:
space:
mode:
authorHugo Lima <hugo.lima@openbossa.org>2010-04-01 19:26:07 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2010-04-06 17:11:24 -0300
commit826678cb91124784339c2a92118e82413ef03b5c (patch)
treea57f5c0c17a0b0b63242aa345df0dac6ef0f86d1 /PySide/QtCore
parent9b338f98571bd2d0433564014af3cf18e87788bd (diff)
Do not handle QVariant user types as Python objects, only the real Python objects.
Reviewer: Anderson Lizardo <anderson.lizardo@openbossa.org> Reviewer: Bruno Araújo <bruno.araujo@openbossa.org>
Diffstat (limited to 'PySide/QtCore')
-rw-r--r--PySide/QtCore/typesystem_core.xml11
1 files changed, 5 insertions, 6 deletions
diff --git a/PySide/QtCore/typesystem_core.xml b/PySide/QtCore/typesystem_core.xml
index d3a7904a3..62a963f94 100644
--- a/PySide/QtCore/typesystem_core.xml
+++ b/PySide/QtCore/typesystem_core.xml
@@ -1717,11 +1717,10 @@
</add-function>
<add-function signature="toPyObject()" return-type="PyObject*">
<inject-code class="target" position="beginning">
- const char* type_name = %CPPSELF.typeName();
- uint type_id = QMetaType::type(type_name);
- if (!type_id || type_id > QVariant::UserType) {
+ uint typeId = %CPPSELF.userType();
+ if (typeId == qMetaTypeId&lt;PyObjectHolder>()) {
%PYARG_0 = %CPPSELF.value&lt;PyObjectHolder>();
- } else if (type_id == QVariant::String) {
+ } else if (typeId == QVariant::String) {
%PYARG_0 = %CONVERTTOPYTHON[QString](%CPPSELF.toString());
} else {
%PYARG_0 = Py_None;
@@ -1734,14 +1733,14 @@
if (%CPPSELF.isNull()) {
%PYARG_0 = Py_None;
Py_INCREF(Py_None);
- } else if (%CPPSELF.userType() == QMetaTypeId&lt;PyObjectHolder>::qt_metatype_id()) {
+ } else if (%CPPSELF.userType() == qMetaTypeId&lt;PyObjectHolder>()) {
// emulate PyQt4 behaviour
PyObject* obj = %CPPSELF.value&lt;PyObjectHolder>();
if (PySequence_Check(obj))
%PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE]("QVariantList");
}
if (!%PYARG_0)
- %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](%CPPSELF.typeName());
+ %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](%CPPSELF.%FUNCTION_NAME());
</inject-code>
</modify-function>
<modify-function signature="toList()const">