diff options
Diffstat (limited to 'sources/pyside2/PySide2/QtCore/typesystem_core_common.xml')
-rw-r--r-- | sources/pyside2/PySide2/QtCore/typesystem_core_common.xml | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/sources/pyside2/PySide2/QtCore/typesystem_core_common.xml b/sources/pyside2/PySide2/QtCore/typesystem_core_common.xml index 3e50a3e8b..ca7531f0a 100644 --- a/sources/pyside2/PySide2/QtCore/typesystem_core_common.xml +++ b/sources/pyside2/PySide2/QtCore/typesystem_core_common.xml @@ -2920,7 +2920,7 @@ QByteArray ba; ba.resize(%2); %CPPSELF.%FUNCTION_NAME(ba.data(), ba.size()); - %PYARG_0 = %CONVERTTOPYTHON[QByteArray](ba); + %PYARG_0 = Shiboken::String::fromCString(ba.constData()); </inject-code> <modify-argument index="1"> <remove-argument /> @@ -2944,7 +2944,7 @@ QByteArray ba; ba.resize(%2); %CPPSELF.%FUNCTION_NAME(ba.data(), ba.size()); - %PYARG_0 = %CONVERTTOPYTHON[QByteArray](ba); + %PYARG_0 = Shiboken::String::fromCString(ba.constData()); </inject-code> <modify-argument index="1"> <remove-argument /> @@ -2952,12 +2952,13 @@ <modify-argument index="return"> <replace-type modified-type="PyObject"/> <conversion-rule class="native"> - %RETURN_TYPE %out; - if (!PyBytes_Check(%PYARG_0)) { - %out = -1; - } else { + %RETURN_TYPE %out = 0; + if (PyBytes_Check(%PYARG_0)) { %out = PyBytes_GET_SIZE((PyObject*)%PYARG_0); memcpy(%1, PyBytes_AS_STRING((PyObject*)%PYARG_0), %out); + } else if (Shiboken::String::check(%PYARG_0)) { + %out = Shiboken::String::len((PyObject*)%PYARG_0); + memcpy(%1, Shiboken::String::toCString((PyObject*)%PYARG_0), %out); } </conversion-rule> </modify-argument> |