diff --git a/PySide/QtCore/typesystem_core.xml b/PySide/QtCore/typesystem_core.xml index 26a118f..6a2a354 100644 --- a/PySide/QtCore/typesystem_core.xml +++ b/PySide/QtCore/typesystem_core.xml @@ -232,7 +232,6 @@ - @@ -2078,7 +2077,7 @@ - + @@ -2104,8 +2103,23 @@ - - + + + + + + const void* ptr; + Py_ssize_t len; + PyObject_AsReadBuffer(%PYARG_1, &ptr, &len); + %PYARG_0 = %CONVERTTOPYTHON[bool](%CPPSELF.%FUNCTION_NAME((uchar*)ptr)); + + + + + %PYARG_0 = PyBuffer_FromReadWriteMemory(%CPPSELF.%FUNCTION_NAME(%1, %2, %3), %2); + + + diff --git a/tests/QtCore/CMakeLists.txt b/tests/QtCore/CMakeLists.txt index 48de2c4..cbc9ee0 100644 --- a/tests/QtCore/CMakeLists.txt +++ b/tests/QtCore/CMakeLists.txt @@ -8,6 +8,7 @@ PYSIDE_TEST(bug_515.py) PYSIDE_TEST(bug_656.py) PYSIDE_TEST(bug_699.py) PYSIDE_TEST(bug_706.py) +PYSIDE_TEST(bug_724.py) PYSIDE_TEST(blocking_signals_test.py) PYSIDE_TEST(child_event_test.py) PYSIDE_TEST(deepcopy_test.py) diff --git a/tests/QtCore/bug_724.py b/tests/QtCore/bug_724.py new file mode 100644 index 0000000..550b53f --- /dev/null +++ b/tests/QtCore/bug_724.py @@ -0,0 +1,22 @@ +from PySide.QtCore import * +import unittest +import tempfile +import os + +class TestBug724 (unittest.TestCase): + + def testIt(self): + # creates a temporary file + handle, self.filename = tempfile.mkstemp() + os.write(handle, 'a') + os.close(handle) + + engine = QAbstractFileEngine.create(self.filename) + engine.open(QIODevice.ReadOnly) + memory = engine.map(0, 1, QFile.NoOptions) + self.assertEqual(len(memory), 1) + self.assertEqual(memory[0], 'a') + engine.unmap(memory) + +if __name__ == '__main__': + unittest.main()