aboutsummaryrefslogtreecommitdiffstats
path: root/PySide/QtCore/qvariant_type_conversions.h
diff options
context:
space:
mode:
Diffstat (limited to 'PySide/QtCore/qvariant_type_conversions.h')
-rw-r--r--PySide/QtCore/qvariant_type_conversions.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/PySide/QtCore/qvariant_type_conversions.h b/PySide/QtCore/qvariant_type_conversions.h
index d1cf9f0ca..e5384cd8b 100644
--- a/PySide/QtCore/qvariant_type_conversions.h
+++ b/PySide/QtCore/qvariant_type_conversions.h
@@ -25,8 +25,12 @@ struct Converter<QVariant::Type>
typeName = "double"; // float is a UserType in QVariant.
else if (pyObj == reinterpret_cast<PyObject*>(&PyLong_Type))
typeName = "int"; // long is a UserType in QVariant.
- else if (PyType_Check(pyObj))
- typeName = reinterpret_cast<PyTypeObject*>(pyObj)->tp_name;
+ else if (PyType_Check(pyObj)) {
+ if (pyObj->ob_type == &Shiboken::SbkBaseWrapperType_Type)
+ typeName = reinterpret_cast<Shiboken::SbkBaseWrapperType*>(pyObj)->original_name;
+ else
+ typeName = reinterpret_cast<PyTypeObject*>(pyObj)->tp_name;
+ }
else if (PyString_Check(pyObj))
typeName = PyString_AS_STRING(pyObj);
else if (PyUnicode_Check(pyObj))