diff options
author | Hugo Lima <hugo.lima@openbossa.org> | 2009-11-04 15:18:20 -0200 |
---|---|---|
committer | Hugo Lima <hugo.lima@openbossa.org> | 2009-11-04 15:18:20 -0200 |
commit | 86fa278e1c254db2595b9aa8036cf2b7407d5662 (patch) | |
tree | a2a066ae07328236616f6ae62689709fdd49fd0f /PySide/QtCore/qstring_conversions.h | |
parent | d2cd71313d0c44eaffe4b38ab3f9ac6daa2c20cb (diff) |
Speed up construction of QString's from python unicode strings.
Diffstat (limited to 'PySide/QtCore/qstring_conversions.h')
-rw-r--r-- | PySide/QtCore/qstring_conversions.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/PySide/QtCore/qstring_conversions.h b/PySide/QtCore/qstring_conversions.h index 33cf438df..3f2766a41 100644 --- a/PySide/QtCore/qstring_conversions.h +++ b/PySide/QtCore/qstring_conversions.h @@ -27,14 +27,11 @@ inline QString Converter< QString >::toCpp(PyObject* pyobj) } else if (PyQLatin1String_Check(pyobj)) { return QString(Converter< QLatin1String >::toCpp(pyobj)); } else if (PyUnicode_Check(pyobj)) { -#if defined(Py_UNICODE_WIDE) Py_UNICODE* unicode = PyUnicode_AS_UNICODE(pyobj); +#if defined(Py_UNICODE_WIDE) return QString::fromUcs4(unicode); #else - PyObject* str = PyUnicode_AsUTF8String(pyobj); - QString result = QString::fromUtf8(PyString_AS_STRING(str)); - Py_DECREF(str); - return result; + return QString::fromUtf16(unicode, PyUnicode_GET_SIZE(pyobj)); #endif } else if (PyString_Check(pyobj)) return QString(Converter< char * >::toCpp(pyobj)); |