diff options
-rw-r--r-- | sip/tqt/tqstring.sip | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sip/tqt/tqstring.sip b/sip/tqt/tqstring.sip index 8ef101f..6e09d0f 100644 --- a/sip/tqt/tqstring.sip +++ b/sip/tqt/tqstring.sip @@ -890,9 +890,16 @@ const char *PyTQt_tqt_encode(PyObject **s, TQApplication::Encoding encoding) es = PyBytes_AS_STRING(obj); Py_INCREF(obj); } - else if (PyObject_AsCharBuffer(obj, &es, &sz) >= 0) + else { - Py_INCREF(obj); + Py_buffer view; + + if (PyObject_GetBuffer(obj, &view, PyBUF_SIMPLE) == 0) { + es = (const char*)view.buf; + sz = view.len; + PyBuffer_Release(&view); + Py_INCREF(obj); + } } if (es) |