diff options
Diffstat (limited to 'PySide/QtCore/qvariant_type_conversions.h')
-rw-r--r-- | PySide/QtCore/qvariant_type_conversions.h | 8 |
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)) |