aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* setup.py: Distinguish debug/release PythonChristian Tismer2018-02-261-0/+5
| | | | | | | | | | | | | | When developing the heap types, I had to switch between debug and release Python very often. This patch allows for debug and release to co-exist without re-building everything. Additionally to the 'd' that gets appended to the build and install folders, I used a 'p' for debug Python. Please feel free to change that as you like. Change-Id: I022face5177bb69589809c8b235f09161d7fabd2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken: Refactor finding of enumerationsFriedemann Kleint2018-02-235-75/+52
| | | | | | | | | | | | | | | - Add helper AbstractMetaEnum::findEnumValue() which finds unqualified as well as qualified enum values. - Remove unused function bstractMetaClass::findEnumForValue(QString). - Remove 2nd parameter from AbstractMetaClass::findEnumValue(QString, AbstractMetaEnum *). The comment claimed that it is excluded from the search, but the condition was the reverse. Just removing it apparently does not do harm. Task-number: PYSIDE-487 Change-Id: I32b036045ea335b805fba79df327cc42d787f18c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2018-02-2314-427/+192
|\ | | | | | | Change-Id: I5d1a4734e8f44785898ba62beaa0bdd2004fca22
| * Signature: make the parser more complete for 5.11Christian Tismer2018-02-231-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parser regex could not handle angle bracket pairs with commas in it. This is needed for template parameter lists. When they contain commata between the angle brackets, the parser did not recognize that. This fix allows for one level of angle brackets with whatever content. It will probably be needed in 5.11, but the syntax that the regex recognizes should always be complete. I had a hard time to understand this split regex again, so I added some more documentation, and it should now be simple to extend it even more. Task-number: PYSIDE-510 Task-number: PYSIDE-616 Change-Id: Ic854852f35af8b4526a63ffe920f2c01204c1f31 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Deprecate --iculib-url optionAlexandru Croitor2018-02-231-6/+2
| | | | | | | | | | | | | | | | | | | | The option is not being used anymore since commit c605d686f8cc4c8d370ec4d6260fca4b423f5526 , but we need to keep the name around, so that setup.py doesn't error out in Coin because we still pass that option. Change-Id: I6f3433d1feacd8940aa48ba7e1113fe44a19ed9b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Remove _utils.py module from packageAlexandru Croitor2018-02-225-366/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt4 days, _utils.py was used to register a custom qt.conf file into the Qt Resource System, which contained a Prefix (and other locations like binaries / QML imports) so that QtCore can find the correct location of the QPA plugin, and all other requirements. The code was not adopted to work for Qt5, and was silently failing without doing anything. It is not needed anymore though, since the qt.conf registration is now done in C++ in libpyside shared library, since the commit e455d995be989cbdfef2bcd54fd7057a9b036b52 . Thus remove the _util.py file, and adjust __init__.py accordingly. Task-number: PYSIDE-600 Change-Id: I76e3ea442a6e9b9df4996e628ffffcc7384b7f82 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Make sure wheel names contain both PySide2 and Qt versionAlexandru Croitor2018-02-221-5/+31
| | | | | | | | | | | | Task-number: PYSIDE-613 Change-Id: Iad411a46618d157b17f62b403591f348acd98a4e Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Don't copy duplicate libraries on package installationAlexandru Croitor2018-02-229-29/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change makes sure to resolve symlinks and copy only one file for every dynamic shared library used (vs 3 before -> 2 symlinks + 1 actual library). This avoids duplicate files, as well as saves space when creating wheel (e.g. no 3 copies of standalone WebEngine library). This filtering happens copying from CMake install dir into pyside_package_dir (the symlinks are still present in the CMake dir, but that shouldn't harm anybody, and might be useful for users of shiboken only for example). Task-number: PYSIDE-495 Change-Id: I0fe454e16c6b254a8682aa7b1c702ec01a3064f0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Fix setup.py install to work on macOSAlexandru Croitor2018-02-211-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | This change amends e0a4372160d9b1ab1550589784cc456b93d28cab to allow running setup.py install without getting exceptions from distutils. Specifically the problem was that distutils did some additional checks to make sure that plat_name == get_platform(), which will not be the case because of the modified minimum deployment target. The fix is to disable that check via a flag. Change-Id: I066c0d4b7a6b27fceaf094c15bace7aba3c873bb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Fix wheel packages on macOS to contain min correct deployment targetAlexandru Croitor2018-02-211-20/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Python's distutils does not know about the minimum deployment target of extensions, but only the version that was used when building the Python interpreter itself. This value is propagated to the final wheel name, and confuses users on which macOS version can the package be used. This patch computes the correct minimum deployment target, and forces distutils (and wheel) to use it in the wheel name. Unfortunately it requires a slightly dirty hack to circumvent a rigid check in distutils itself. Task-number: PYSIDE-612 Change-Id: I4380ee81840f9746b210579700cc5d69d3865810 Reviewed-by: Fredrik Averpil <fredrik@averpil.com> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | sphinx: Remove deprecated config keysFriedemann Kleint2018-02-234-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove - html_add_permalinks: the key has been changed to str and has a default. - html_use_smartypants: Replaced by smartquotes and defaults to true. Fixes warnings: WARNING: The config value `html_add_permalinks' has type `bool', defaults to `str'. WARNING: html_use_smartypants option is deprecated. Smart quotes are on by default; if you want to disable them, use the smartquotes option. Task-number: PYSIDE-363 Change-Id: I85092597a860f58cc012220edbf0c03749326432 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | QtDocGenerator/QtXmlToSphinx: Fix see-also linksFriedemann Kleint2018-02-222-93/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "See also" links may appear in the qdoc WebXML output as nested links: <see-also>QAbstractXmlReceiver<link raw="isValid()" href="qxmlquery.html#isValid" type="function">isValid()</link> which was handled in handleLinkTag(), or as direct text: <see-also>rootIsDecorated()</see-also> which was not handled, causing numerous warnings: .../QAbstractXmlNodeModel.rst:448: WARNING: Content block expected for the "seealso" directive; none found. Refactor and split QtXmlToSphinx::handleLinkTag() into several functions to operate on a struct LinkContext and keep 2 instances for nested link tags and directly embedded links. Task-number: PYSIDE-363 Change-Id: I734884267209f3621bfc5db4bf4347b838eb0de6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Deploy libclang into standalone packageAlexandru Croitor2018-02-221-0/+58
| | | | | | | | | | | | | | | | The executable shiboken2 depends on libclang shared library being found in the same directory as the executable. Change-Id: Id59435bdf9df9a0f59ae897c414cf4ce312e6d62 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Reduce number of warnings when running shiboken on a custom moduleAlexandru Croitor2018-02-221-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running shiboken on a custom XML file (like the scriptableapplication example) would show tons of warnings about not being able to find certain types or enums or other things inside Qt modules. For scriptableapplication that was the case, because the wrappedclasses.h file would only include the <QMainWindow> header file, and not the rest of QtWidgets / QtGui headers, which means that shiboken found types declared in XML files, but could not find the actual declarations inside the preprocessed header file. This change adds some additional conditions so that warnings are not printed when a typesystem file is loaded with the generate="no" attribute, because no C++ code will actually be generated for types defined inside such a typesystem file. Task-number: PYSIDE-587 Change-Id: I1f166483c2f343796e08d3142e5e296c4ee43f27 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Add CMake-based build rules for scriptableapplication exampleAlexandru Croitor2018-02-223-21/+294
| | | | | | | | | | | | | | | | | | Mostly a clean-ish port of the qmake project file, which also uses the pyside_config.py for getting proper include and link paths. Task-number: PYSIDE-597 Change-Id: I87f71b93ecdcc27d49250ccc0710e64300532dab Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Remove the internal functions Qt::get_enumName()/Qt::get_enumMetaObjectFriedemann Kleint2018-02-214-12/+2
| | | | | | | | | | | | | | | | | | | | They apparently originate from an expanded macro and result in doc warnings. Change-Id: I2418034f643156855091e1e94e0fbb2a58e77bfc Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | QtDocGenerator: Indent the function list containerFriedemann Kleint2018-02-211-1/+1
| | | | | | | | | | | | | | | | | | Fix warnings: Content block expected for the "container" directive; none found Task-number: PYSIDE-363 Change-Id: Ie855ac355478060c0d280413a31dffcb03cf3935 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | QtDocGenerator: Ensure newline before tablesFriedemann Kleint2018-02-211-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warnings like: warning: Undefined substitution referenced: "Constant |Description" on tables like: *amplitude**period* +-------------------------+-----------+ |Constant |Description| +=========================+===========+ |QEasingCurve.InOutElastic| | +-------------------------+-----------+ Task-number: PYSIDE-363 Change-Id: I56cd9b73dacbfd84260c059a8916db5540029816 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | QtDocGenerator: Add newline before Synopsis/Detailed DescriptionFriedemann Kleint2018-02-211-3/+5
| | | | | | | | | | | | | | | | | | Fix sphinx warnings: warning: Explicit markup ends without a blank line; unexpected unindent Task-number: PYSIDE-363 Change-Id: Iec9d8b35317dc9c1009db468284cb7b7a88104a0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | QtDocParser: Fix and refactor queriesFriedemann Kleint2018-02-211-34/+58
| | | | | | | | | | | | | | | | | | | | | | | | - Use a QTextStream for better readability - Extract a helper function to format the function parameter type query: - Fix the function parameter type attribute ("left"->"type") - Fully qualify enumeration and other non-primitive types Task-number: PYSIDE-363 Change-Id: I529e839fb737f30bd9b70d10a48fcfb0c9141f8f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Documentation extraction: Add error handlingFriedemann Kleint2018-02-216-13/+100
| | | | | | | | | | | | | | | | | | Trim the strings returned by the XPath queries and warn about failing queries. Task-number: PYSIDE-363 Change-Id: Ia0233d490497597cb78aa16b0908fe226270705c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | DocParser: Add helper function to create list of documentable functionsFriedemann Kleint2018-02-215-35/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move code from shouldSkip() helper of the doc generator into the doc parser and use that for the qdoc/doxygen parsers. The additional checks (most importantly the check for declaringClass != ownerClass excluding the virtual functions added by AbstractMetaClass::fixFunctions() to derived classes) avoid running unneeded XPATH queries. Task-number: PYSIDE-363 Change-Id: Ib1141a348c96b269a50c63dd94fe93931c12d1ec Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | shiboken/docgenerator: Refactor code doing the escapes for rstFriedemann Kleint2018-02-201-18/+39
| | | | | | | | | | | | | | | | | | | | Introduce a streamable class that does the escaping and some helpers for QString/QStringRef. Task-number: PYSIDE-363 Change-Id: Ica6d8a2ab43eeb597b4e9080330dc2ce700e0ed2 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | shiboken/docgenerator: Remove unneeed QStringRef::toString() callsFriedemann Kleint2018-02-201-5/+5
| | | | | | | | | | | | Change-Id: I4bbaa7d46bab2526906655c5f03bbd25a142bbc4 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.6' into 5.9" into refs/staging/5.9Friedemann Kleint2018-02-202-2/+13
|\ \
| * | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2018-02-202-2/+13
| |\| | | | | | | | | | Change-Id: If56adeea2f888d8bc34e202b697f735508896c84
| | * Fix rpath of QtWebEngineProcess in standalone macOS framework buildAlexandru Croitor2018-02-201-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rpath already present assumes the presence of some symlinks, which are not present when copying over the Qt frameworks. Thus the rpath needs adjustment. Task-number: PYSIDE-605 Change-Id: I2fec6f53c8b617a6e755718e9174cadd2c485b5e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Fix MACOSX_DEPLOYMENT_TARGET being set by distutils.spawn()Alexandru Croitor2018-02-201-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though a user might specify a CMAKE_OSX_DEPLOYMENT_TARGET value, this will not automatically set the regular MACOSX_DEPLOYMENT_TARGET environment variable, which is picked up by the compiler to decide which standard library to use. Because CMake is invoked via run_process -> distutils.spawn(), spawn might decide to set its own value of MACOSX_DEPLOYMENT_TARGET. That is undesirable. Make sure to always specify the environment variable based on given value, or current OS version. (cherry picked from commit 6945dfb657a17fd66fd547e086c6fa9c76f06074) Change-Id: I7f2dcc546c447d30fc1585cda220e3437cee9491 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * 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>
| | * Fix typo in libicu detectionAlexandru Croitor2018-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When libicu libraries are present in the qt lib dir, this caused trying to copy the files into the same folder where they are located which will obviously fail. Change-Id: Ibcabec2e44dac70e0c3c56e52ff0c8ac7749dbc0 Reviewed-by: Fredrik Averpil <fredrik@averpil.com> Reviewed-by: Simo Fält <simo.falt@qt.io>
* | | shiboken/docgenerator: Pad table rows up to header column countFriedemann Kleint2018-02-201-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a warning about a malformed table (qcursor.cpp) whose last row has too few columns. Task-number: PYSIDE-363 Change-Id: I5eec88226e48064ee54e3abe1247d9dc06dc1d82 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | shiboken/docgenerator: Refactor code using split()Friedemann Kleint2018-02-201-48/+38
|/ / | | | | | | | | | | | | | | Use splitRef() where applicable or rewrite. Task-number: PYSIDE-363 Change-Id: I08dcafbba82327f6ff4c02f582341083b4b48755 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | shiboken/docgenerator: Remove helper createRepeatedChar()Friedemann Kleint2018-02-201-10/+23
| | | | | | | | | | | | | | | | | | | | Add a streamable Pad class for these purposes or use the corresponding QString constructor. Task-number: PYSIDE-363 Change-Id: I7e58ae19d2b0f2e1e14c0a235a5ab311350174c2 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Doc: Adapt QML basics tutorial for Qt Quick 2Venugopal Shivashankar2018-02-198-58/+57
| | | | | | | | | | | | | | | | | | | | - Update the helloworld example to use Qt Quick 2 import - Use second person style consistently in the tutorial set Task-number: PYSIDE-363 Change-Id: Ia2b6636e850433bd69e5d6b4fb36faa1cb7b0edb Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | shiboken: Fix loops in QtDocGenerator::writeConstructors()Friedemann Kleint2018-02-191-6/+7
| | | | | | | | | | | | | | | | | | Remove removed constructors and move constructors first before writing out documentation. Task-number: PYSIDE-363 Change-Id: I8dbe3e96ccc8f293253eb52e00c384d3ff458dcc Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Move and fix some snippetsFriedemann Kleint2018-02-198-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warnings: While handling <snippet> in PySide2.QtQuick.QQuickImageProvider, line 20: Falling back to ".../qtdeclarative/examples/quick/imageprovider/imageprovider-example.qml" for "imageprovider/imageprovider-example.qml" [0] While handling <snippet> in PySide2.QtQuick.QQuickImageProvider, line 23: Falling back to ".../qtdeclarative/examples/quick/imageprovider/imageprovider.cpp" for "imageprovider/imageprovider.cpp" [0] While handling <snippet> in PySide2.QtQuick.QQuickImageProvider, line 25: Falling back to ".../qtdeclarative/examples/quick/imageprovider/imageprovider.cpp" for "imageprovider/imageprovider.cpp" [1] While handling <snippet> in PySide2.QtXml.QXmlSimpleReader, line 6: Falling back to ".../qtbase/src/xml/doc/snippets/simpleparse/main.cpp" for "simpleparse/main.cpp" [0] While handling <snippet> in PySide2.QtXml.QXmlSimpleReader, line 8: Falling back to ".../qtbase/src/xml/doc/snippets/simpleparse/main.cpp" for "simpleparse/main.cpp" [1] While handling <snippet> in PySide2.QtXml.QXmlSimpleReader, line 11: Falling back to ".../qtbase/src/xml/doc/snippets/simpleparse/main.cpp" for "simpleparse/main.cpp" [2] While handling <snippet> in PySide2.QtSvg.QSvgGenerator, line 5: Falling back to ".../qtsvg/examples/svg/svggenerator/window.cpp" for "svggenerator/window.cpp" [configure SVG generator] While handling <snippet> in PySide2.QtSvg.QSvgGenerator, line 8: Falling back to ".../qtsvg/examples/svg/svggenerator/window.cpp" for "svggenerator/window.cpp" [begin painting] While handling <snippet> in PySide2.QtSvg.QSvgGenerator, line 10: Falling back to ".../qtsvg/examples/svg/svggenerator/window.cpp" for "svggenerator/window.cpp" [end painting] While handling <snippet> in PySide2.QtSvg.QGraphicsSvgItem, line 8: Falling back to ".../qtsvg/src/svg/doc/snippets/src_svg_qgraphicssvgitem.cpp" for "src_svg_qgraphicssvgitem.cpp" [0] Task-number: PYSIDE-363 Change-Id: I32c73b2347e622e6594a017fde023d00bae864ec Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | shiboken/docgenerator: Handle empty snippetsFriedemann Kleint2018-02-151-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | Empty snippets may actually be valid in case a single closing bracket in C++ is turned into an empty line in Python (customstyle.cpp[1]). Differentiate between those by using QString::isNull() for the fallback mechanism. Always output snippet identifier in messages. Amends 45f3126a04cd5493323b689c85a48106d0f8367e. Task-number: PYSIDE-363 Change-Id: I0391b18fafacbd4c57c4017adb08126a5e2c7c7e Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Initial fixes of the doc snippetsFriedemann Kleint2018-02-1519-48/+35
| | | | | | | | | | | | | | | | | | | | | | Fix some findings obtained by comparing to the corresponding C++ snippets. Task-number: PYSIDE-363 Change-Id: I41b8a0b12f322ea9c44d58f82cb9cd497413c9d8 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Add condition to qmimedatabase_testCristian Maureira-Fredes2018-02-151-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | An assert related to a Mimetype comment fails if the language is unset or is not English. Since this assert is not critical to the functionality of the module, we can remove it or add a simple condition to test it only when the system's language is English. The last one was applied. Task-number: PYSIDE-575 Change-Id: Ida85268e25522e406878dd6ac4e5e70852f8d8e4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken/docgenerator: Fall back to C++ snippet when Python snippet cannot ↵Friedemann Kleint2018-02-151-13/+70
| | | | | | | | | | | | | | | | | | | | be found Use the "path" attribute. Task-number: PYSIDE-363 Change-Id: I27adc86cfb58d20a90f411842c2f78de9dbe1a60 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Fix MACOSX_DEPLOYMENT_TARGET being set by distutils.spawn()Alexandru Croitor2018-02-141-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though a user might specify a CMAKE_OSX_DEPLOYMENT_TARGET value, this will not automatically set the regular MACOSX_DEPLOYMENT_TARGET environment variable, which is picked up by the compiler to decide which standard library to use. Because CMake is invoked via run_process -> distutils.spawn(), spawn might decide to set its own value of MACOSX_DEPLOYMENT_TARGET. That is undesirable. Make sure to always specify the environment variable based on given value, or current OS version. Change-Id: I7f2dcc546c447d30fc1585cda220e3437cee9491 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Fix lost reference for item delegatesCristian Maureira-Fredes2018-02-143-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | After setting an item delegate for columns and rows in classes that inherit from QAbstractItemView (like QTreeView) the reference was not kept, causing a segfault. This was solved by keeping the reference of the object. A test is provided. Task-number: PYSIDE-226 Task-number: PYSIDE-219 Change-Id: I43eeb6e85a37537311d838f5abb0ee1ab10ea713 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Apply Qt guidelines to the injected code via XMLCristian Maureira-Fredes2018-02-143-139/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | There are many inconsistencies in the associated typesystem files that complement the binding generation, this is a first attempt to try to standardize it. Just Qt Coding Style were applied (when possible). In the future the process to access and manipulate Shiboken objects must also be standardized. Change-Id: Ida57d1630a893bc5b608f64119b4c8d638bb9c66 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Fix usage of PyCFunction_GET_FLAGS in pysidesignal.cppAlexandru Croitor2018-02-141-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using PyCFunction_GET_FLAGS is unsafe, because it does not check whether the argument given is actually a PyCFunction object. This macro needs to be replaced with the function equivalent PyCFunction_GetFlags for stable ABI patch, but this will cause a crash in PyCFunction_Call because we don't check the return value of PyCFunction_GetFlags to see if it fails. Rather than checking the return value, it is safe to preemptively add a PyCFunction_Check before calling the GetFlags function. This does not modify the logic behind signalCall function. The crashing test was homonymoussignalandmethod_test.py, so no new test is needed. Task-number: PYSIDE-593 Change-Id: Id9ac9c0dec454e8e1ce9516dc68af924372a34a9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Temporarily disable building of Qt3D for Qt >= 5.10Friedemann Kleint2018-02-131-1/+1
| | | | | | | | | | | | | | | | | | To be reverted once Qt3D/352dacc0040f77345ab2f6e9019ff68ba2ed354e reaches the dev branch. Task-number: PYSIDE-487 Change-Id: Ia17fb2ade605ba0d90c02511ffada58085178f45 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Rename code snippet for QValidator classesFriedemann Kleint2018-02-131-0/+0
| | | | | | | | | | | | | | | | | | | | qt.shiboken: (doc) Error handling <snippet> in PySide2.QtGui.QRegExpValidator, line 9: Could not resolve "code/src_gui_util_qvalidator.cpp" in sources/pyside2/doc/codesnippets/doc/src/snippets", sources/pyside2/doc/codesnippets/examples qt.shiboken: (doc) Error handling <snippet> in PySide2.QtGui.QIntValidator, line 4: Could not resolve "code/src_gui_util_qvalidator.cpp" in sources/pyside2/doc/codesnippets/doc/src/snippets", sources/pyside2/doc/codesnippets/examples Task-number: PYSIDE-363 Change-Id: Iab4e64b0d9a810dc784edcc0239251fca2f5927f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Refactor QtXmlToSphinx::readFromLocation()Friedemann Kleint2018-02-131-9/+15
| | | | | | | | | | | | | | | | | | Split out the code path for empty identifier and port to QRegularExpression. Task-number: PYSIDE-363 Change-Id: I6c0eeba1d62762e475de12d503fdc1a9d495d349 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Refactor QtDocGenerator::writeFormattedText()Friedemann Kleint2018-02-131-8/+15
| | | | | | | | | | | | | | | | | | Rewrite to use QStringRef and add some checks preventing overflow should the text contain empty lines. Task-number: PYSIDE-363 Change-Id: I850221bc6e7a6b88fc3b6078cf2cb2e01663ab15 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Fix some spelling errors in qtdocgenerator.h/.cppFriedemann Kleint2018-02-132-15/+19
| | | | | | | | | | | | Task-number: PYSIDE-363 Change-Id: I781fc0dc195bc8f3222f9fce7c863b67d3d2c568 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | QtXmlToSphinx: Improve error handling for snippetsFriedemann Kleint2018-02-132-27/+53
| | | | | | | | | | | | | | | | | | | | Change the qCDebug() to qCWarning() for snippets issues and pass the errors up so that more context can be given. Task-number: PYSIDE-363 Change-Id: I23310cd55a1cdb3b040dd785db43717fa3c4c07d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>