aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/tests/libsample
Commit message (Collapse)AuthorAgeFilesLines
* Change license from all the filesCristian Maureira-Fredes2018-05-03112-112/+112
| | | | | | | | | | | | | | | | | Removing the word 'project' from all the headers, and changing the PySide reference from the examples to Qt for Python: The following line was used inside the source/ and build_scripts/ directory: for i in $(grep -r "the Qt for Python project" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/the\ Qt\ for\ Python\ project/Qt\ for\ Python/g' $i;done and the following line was used inside the examples/ directory: for i in $(grep -r "of the PySide" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/of\ the\ PySide/of\ the\ Qt\ for\ Python/g' $i;done Change-Id: Ic480714686ad62ac4d81c670f87f1c2033d4ffa1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Rename PySide references to Qt for PythonCristian Maureira-Fredes2018-04-27112-112/+112
| | | | | | | | | When referring to the project one should use "Qt for Python" and for the module "PySide2" Change-Id: I36497df245c9f6dd60d6e160e2fc805e48cefcae Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Type system: Add attribute indicating C++ 11 enum classesFriedemann Kleint2018-02-281-0/+6
| | | | | | | | | | | | | Introduce enumeration for the type to EnumTypeEntry which can be specified by the boolean "class" attribute. For the enum classes, the value names need to be qualified by the enum name to match the C++ API. For the C++ generator, add an overload to Shiboken::createScopedEnumItem() that takes a PyTypeObject and add the enum items to the enum so that the name is in the enum scope. Change-Id: Ia0e469d13b08c196b9ddd965b9cf3cc62a38630b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Fix generated initialization code for enum classesFriedemann Kleint2018-02-261-0/+4
| | | | | | | | | | Wrap value in int(), which is required for enum classes. Add a compile test to libsample. Task-number: PYSIDE-487 Change-Id: I78f07ae66da64caad1f75722308256e40e91eded Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2018-02-201-1/+0
|\ | | | | | | Change-Id: If56adeea2f888d8bc34e202b697f735508896c84
| * Fix heap corruption crash on macOS 10.8 CI machineAlexandru Croitor2018-02-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The macOS 10.8, PySide2 branch 5.6 integrations were misteriously failing with crashes on exit in the objecttype_test.py test, with a stack trace similar to: 0x00007fff8899e90a _sigtramp + 26 0x0000000100784710 0x0 + 4302849808 (note the 0x0 address) 0x0000000100055408 dict_traverse + 168 0x0000000100107f77 collect + 407 0x00000001001089f4 PyGC_Collect + 52 0x00000001000ef503 Py_Finalize + 259 0x00000001000eefca handle_system_exit + 250 0x00000001000ef235 PyErr_PrintEx + 469 0x00000001000efebb PyRun_SimpleFileExFlags + 299 0x00000001001071dd Py_Main + 3101 Reproducing it on a CI VM was very difficult, requring dubious manipulation of PATH, PYTHONPATH and LD_LIBRARY_PATH environment variables. In the end the issue was diagnosed to be heap corruption, and thus the difficulty in reproducing it. The testParentFromCpp test in objecttype_test.py calls the destroyCppParent method to delete its parent. Because the deletion of the parent invokes the destructor ~ObjectType(), that in turn deletes the child. This lead to head corruption, because the child "o" by destroying its parent, destroys itself, and once the "delete m_parent" is done, the next "m_parent = 0" would write to invalid (freed) memory. In a release build of the Python interpreter, this ends up in accessing the freed memory in the GC collection phase (but under a debugger this crashed in several other random places). The fix is to delete the "m_parent = 0;" statement, so that nothing is written to freed memory. Change-Id: I2d7a41b99a3255ebb300e6157b3dd0d78eb27a54 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Shiboken: Handle private abstract methodsFriedemann Kleint2018-01-193-0/+10
| | | | | | | | | | | | | | | | | | Remove the exclusion. Required for Qt3dExtras::QAbstractCameraController::moveCamera() in 5.10. Task-number: PYSIDE-487 Change-Id: I67ae24d4cda2d90ac30c97f77457c2eaf65099ab Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | shiboken tests: Introduce overrideFriedemann Kleint2018-01-195-18/+18
| | | | | | | | | | | | | | | | Replace virtual by override where appropriate to make the code clearer. Change-Id: I143daf29f1c162b2de959411a5f4acdc43a2b253 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | shiboken: Do not generate wrappers for final classesFriedemann Kleint2017-12-042-0/+37
| | | | | | | | | | | | | | Check the attributes and add test. Change-Id: I6c3d76ed32b5d20b6940849dd4895f98abd62fca Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-11-272-2/+13
|\| | | | | | | Change-Id: I79637555fbfbd596dee4313baf80149d03bb5206
| * shiboken: Do not generate richcompare methods for namespacesFriedemann Kleint2017-11-242-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | shiboken used to generate richcompare methods for namespaces when it contained free comparison operators for classes in that namespace, resulting in compile errors. For example: namespace Qt3DRender { bool operator!=(const QGraphicsApiFilter &reference, const QGraphicsApiFilter &sample) ... Add a check preventing that. Task-number: PYSIDE-487 Change-Id: If2fa1de1bfb0fdc11c9415421dab0c7e13abc500 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-11-061-0/+4
|\| | | | | | | Change-Id: I72583df407fc5b3caa8bf35fd997889a4ac86512
| * Implement proper void pointer (void*) supportAlexandru Croitor2017-11-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change introduces a new type into the shiboken2 module which is imported by calling "import PySide2.support.VoidPtr". The type takes care of conversions from / to void* values in function signatures. Creating an instance can be done by passing either a shiboken wrapped object, or an integer representing an address, or a python object that implements the buffer interface. For example, this is useful for passing numpy arrays to C OpenGL functions that take void* parameters. First you convert the array into a bytestring (using numpy.array.tobytes(), then you instantiate a VoidPtr from that bytestring, and finally you pass it along to a GL function. One corner case that is currently not supported is void** parameters. Change-Id: I01e291d6856cb6bd8b5175adc3ead6b728036535 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * move everying into sources/shiboken2Oswald Buddenhagen2017-05-22113-0/+9478
| | | | | | in preparation for a subtree merge. this should not be necessary to do in a separate commit, but git is a tad stupid about following history correctly without it.
* Add numpy supportFriedemann Kleint2017-08-032-0/+22
| | | | | | | | | Add simple array converters giving access to NumPy arrays. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: I2446b0f1ef98eaf12df95e4bd0e03d73e0cd7126 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add new <array> argument modification indicating array usageFriedemann Kleint2017-08-032-0/+16
| | | | | | | | | | | | The modification can be used to indicate that for example int* is meant to be used as int[]. This is reflected in the NativePointerAsArrayPattern usage pattern of AbstractMetaType. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: Icaeb3cce4be9ce06caa2cab628d4e8fc1b684819 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* libshiboken: Add Array convertersFriedemann Kleint2017-08-032-0/+14
| | | | | | | | | | | | | | | | Add a SbkArrayConverter struct which provides a list of check functions that return a converter function for an array of matching size. Add simple array converters for arrays of C++ primitive types. Instances of the ArrayHandle<>, Array2Handle<> templates will be generated which may point to internal data or allocated arrays. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: I157606891fad345ccd7af6d4a9d4dcb0c634b2f4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* move everying into sources/shiboken2 (5.9 edition)Oswald Buddenhagen2017-05-22113-0/+9478
in preparation for a subtree merge. this should not be necessary to do in a separate commit, but git is a tad stupid about following history correctly without it.