aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside2')
-rw-r--r--sources/pyside2/PySide2/glue/qtcore.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/sources/pyside2/PySide2/glue/qtcore.cpp b/sources/pyside2/PySide2/glue/qtcore.cpp
index ca88b9740..629484458 100644
--- a/sources/pyside2/PySide2/glue/qtcore.cpp
+++ b/sources/pyside2/PySide2/glue/qtcore.cpp
@@ -1618,12 +1618,16 @@ double in = %CONVERTTOCPP[double](%in);
// a class supported by QVariant?
int typeCode;
const char *typeName = QVariant_resolveMetaType(Py_TYPE(%in), &typeCode);
-if (!typeCode || !typeName)
- return;
-QVariant var(typeCode, (void*)0);
-Shiboken::Conversions::SpecificConverter converter(typeName);
-converter.toCpp(pyIn, var.data());
-%out = var;
+if (!typeCode || !typeName) {
+ // If the type was not encountered, return a default PyObjectWrapper
+ %out = QVariant::fromValue(PySide::PyObjectWrapper(%in));
+}
+else {
+ QVariant var(typeCode, (void*)0);
+ Shiboken::Conversions::SpecificConverter converter(typeName);
+ converter.toCpp(pyIn, var.data());
+ %out = var;
+}
// @snippet conversion-sbkobject
// @snippet conversion-pydict