aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Streamline Qt5 detection on macOSAlexandru Croitor2017-08-242-25/+27
| | | | | | | | | | | | | | | | | | | | | This consists of a few things: - Remove the detection and usage of ALTERNATIVE_QT_INCLUDE_DIR in setup.py, because CMake takes care of finding the correct Qt include headers. - Add detection of framework / non-framework includes in the CMake rules, instead of in the setup.py script. - Don't pass QT_QMAKE_EXECUTABLE from setup.py to CMake, because it is not being used. It was previously used for detecting Qt4 via the CMake FindQt4.cmake file. Now it is done by find_package() which detects qmake from the environment. - Get rid of the old "/Library/Frameworks" QT_INCLUDE_DIR, which was where the official Qt 4.8.x packages installed Qt. - Deprecate usage of ALTERNATIVE_QT_INCLUDE_DIR. Now it is only used if CMake fails to detect the proper include headers of Qt5 (which should not happen). Change-Id: I829b92bc0d40ae7eb418be27c735fc095e557820 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add commit info and build date to installed packageAlexandru Croitor2017-08-212-0/+50
| | | | | | | | | | | | | | | | | | | | | | This change adds four new properties to the top-level PySide2 package: __build_date__ - the date when the package was built in iso8601 format __build_commit_date__ - the date of the top-level commit used to build the package __build_commit_hash__ - the SHA1 hash of the top-level commit __build_commit_hash_described__ - the result of 'git describe commmit' If git is not found on the system when the build is done, the last three properties will not be present. Note that all this info is computed at cmake configuration time, which means that currently the properties will not be updated unless the CMakeLists.txt file is touched, or a full reconfiguration is done. If PySide2 is built using the setup.py script, the cmake reconfiguration is always done. Task-number: PYSIDE-557 Change-Id: I7db67fa34973e7976b21e3d1d36237577b3c6e32 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add QTimeZoneFriedemann Kleint2017-08-024-0/+52
| | | | | | Task-number: PYSIDE-487 Change-Id: I9a2c19c6b8415e3f608531b315a6841eb3de55f5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Stabilize QtWidgets bug_728.pyFriedemann Kleint2017-07-271-1/+16
| | | | | | | | | | Add a timer periodically checking for the dialog to appear and close it via reject() instead of using a hardcoded interval to quit the application, which can cause crashes. Task-number: PYSIDE-431 Change-Id: I35db1db5f6865d196f8565c7bd034de2162bf4ff Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Don't cancel build if python sphinx package is not installedAlexandru Croitor2017-07-252-7/+13
| | | | | | | | | | When building the docs target in PySide2, if the sphinx command is not successfully found, the build stops with an error. Instead of cancelling the build, just print a warning message just like it is done in the shiboken project file. Change-Id: I00ec7c306db5140f65973e622f4b1744cfd0d26e Reviewed-by: Christian Tismer <tismer@stackless.com>
* Set submodules to point to same branch as supermoduleSimo Fält2017-07-241-0/+2
| | | | | | Change-Id: Iddba1b5fb64b8cb2b9700c06de000948d4ba491a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Blacklist smart::smart_pointer on Windows to pass CIAlexandru Croitor2017-07-201-0/+2
| | | | | Change-Id: I7cbbb50dab06396059cb15afdd679abeb7177624 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Ignore license checker with pyside-setupSimo Fält2017-07-201-0/+3
| | | | | | | | This change is for 5.6 branch only and should not be merged to dev nor to 5.9. Change-Id: I951255a2515c3999fe0314678cc621744367d3f0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* audio_test.py: Use QGuiApplicationFriedemann Kleint2017-07-201-1/+2
| | | | | | | | On Windows, the WASAPI audio plugin is used, which requires CoInitialize() and hence QGuiApplication. Change-Id: Iad045224b6153a08234ff69e69eb8d1986654b43 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* helper: Add UsesQGuiApplicationFriedemann Kleint2017-07-201-14/+25
| | | | | | | Add helper for testing with QGuiApplication. Change-Id: Ib56b0b118a5fe8e01c822c859419784921418913 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Blacklist qqmlnetwork for Windows/Python 2Friedemann Kleint2017-07-201-0/+3
| | | | | | | | The test crashes in COIN. Task-number: PYSIDE-431 Change-Id: Ibd65c722212b21d0a6993152711d316fb02a2234 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix Windows module extensions and tests to work with --debug buildAlexandru Croitor2017-07-127-69/+75
| | | | | | | | | | | | | | | | | | Use the same imp.get_suffixes() mechanism as on Unix, to determine the suffix part of module extension files. This fixes debug builds to work on Windows. Note that the whole build stack has to use the same configuration, no mixing is allowed on Windows. For release build you need: python.exe + setup.py without --debug flag + release build of Qt5. For debug build you need: python_d.exe + setup.py with --debug flag + debug build of Qt5. Change-Id: I6188c859b5757d11e87d6a9e32b9ba558f7f609e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Improve suffix names for shared libraries and cmake config filesAlexandru Croitor2017-07-1218-177/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | This change decouples the naming of general shared libraries, python module extensions, and cmake configuration files. All of them are now computed depending on the python version and python build configuration, and can also be manually set via CMake variables. The module extensions names now use the most detailed 'import' prefix, which usually informs whether a debug or release python was used, or the Python ABI flags (for Python >= 3.2). When a debug Python interpreter is used for building PySide2, the preprocessor define Py_Debug is now correctly propagated to PySide2 sources, which fixes previous crashes in debug builds. This affects only Linux and macOS builds. There is a subsequent change for making it work for Windows builds. All in all, this now allows proper mixing of debug / release versions of the Python interpreter with debug / release versions of PySide2 on Linux and macOS. Task-number: PYSIDE-508 Change-Id: I88a05c3ada0fb32c7c29bdb86d7a2c15acc963b8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Simplify the test for loading modulesChristian Tismer2017-07-1026-489/+27
| | | | | | | | | | Some time ago, I added the test file that makes sure that all modules can load. This file needed to repeat for each module without any other tests. Now we have a real "PySide2.__all__" variable, and we can remove these tests in favor of one simple test. Change-Id: I96d91e749c134f30afc30751abb874ede2639d10 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Create the __all__ variable correctlyChristian Tismer2017-06-271-1/+3
| | | | | | | | | | Now that we have the cmake variable "all_module_shortnames", it is very straightforward to produce a sensible __all__ variable in the PySide2 module. This is necessary to write an exhaustive test script for the new signature feature. Change-Id: Ib43d647593f0b1b848b9d17ff27fd47cfb5832cb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix text case of QtMacExtras wrapper cpp file nameAlexandru Croitor2017-06-231-1/+1
| | | | | | | | | This is probably the reason for the build failures in the CI because the filesystem there is case sensitive. Change-Id: I9f3cafbc8f1d29a0974229d466fbd22ec2b91491 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Silence some build warnings when building pysidetestAlexandru Croitor2017-06-231-0/+3
| | | | | | Change-Id: I91a1c87e6153a65a6e4088a41fbe0f696c2dd058 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Remove incorrect dependency in pysidetest targetAlexandru Croitor2017-06-232-1/+4
| | | | | | | | | | | Even though the final library name is libpyside, the actual target that generates that file is called pyside2, as indicated by the project(pyside2) command in the CMakeLists.txt file. Also set the CMake policy of not ignoring incorrect dependencies. Change-Id: Iba65dfd5fe7e34e7557c756a838017fe48f0ffd5 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Remove unnecessary conditional class checksAlexandru Croitor2017-06-231-13/+0
| | | | | | | | | The printing classes were moved to QtPrintSupport module, and the remaining classes are always present in their respective modules. Change-Id: I2e0ec061efc28c89f0476829541a7d2d3f01877f Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix compile tests to include correct module include dirsAlexandru Croitor2017-06-233-17/+18
| | | | | | | | | Also include the optional QtNetwork sources, so that QSsl* class bindings are properly generated. Thus the optional QtWidgets and QtNetwork classes should be picked up. Change-Id: Id4d21dc577f2b551dce83999be76cdfd9d0b88d2 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix testrunner.py in winSimo Fält2017-06-211-1/+9
| | | | | | | | The official git setup recommends to add only git.cmd to win PATH if ran in native CMD. Change-Id: I370752bf0d052f8047e929639b3246b726131b5a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* utils: Handle SymlinksFriedemann Kleint2017-06-092-4/+23
| | | | | | | | | Try to recreate the .so version symlinks correctly on Linux instead of copying the files. Task-number: PYSIDE-526 Change-Id: I3b015efe4f2f57abe418f171a8631d194ed08f65 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix missing headers in PySide custom buildChristian Tismer2017-06-092-18/+32
| | | | | | | | | | | | | | | PySide itself built fine after the additional includes were added for inheritance. But when a smaller project is built, suddenly header files are not found, because the inherited names are not expected by the deployment. Therefore, we do no longer add more includes, but insert recursive headers for the few relevant cases. So the includes become a little longer, but the names of the include files are those as before the enhanced inheritance. Task-number: PYSIDE-500 Change-Id: Iab456307a3c2365dfe1964dbe222b7d0efac7878 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* libshiboken: Fix/Silence some MSVC warningsFriedemann Kleint2017-06-096-9/+18
| | | | | | | | | | | | | | | autodecref.h(110): warning C4522: 'Shiboken::AutoDecRef': multiple assignment operators specified autodecref.h(78): warning C4800: 'PyObject *const ': forcing value to bool 'true' or 'false' (performance warning) conversions.h(282): warning C4800: 'long': forcing value to bool 'true' or 'false' (performance warning) basewrapper.cpp(625): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) basewrapper.cpp(654): warning C4800: 'SpecialCastFunction': forcing value to bool 'true' or 'false' (performance warning) basewrapper.cpp(1014): warning C4800: 'Shiboken::ParentInfo *': forcing value to bool 'true' or 'false' (performance warning) basewrapper.cpp(1044): warning C4800: 'void *': forcing value to bool 'true' or 'false' (performance warning) helper.cpp(56): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data shibokenbuffer.cpp(46): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) Change-Id: If1517fde8e7670f258a56f6d845a66ebb3d82141 Reviewed-by: Christian Tismer <tismer@stackless.com>
* pysidetest_delegatecreateseditor_test: Add QtWidgets dependencyFriedemann Kleint2017-06-022-2/+2
| | | | | | | | | | | The test was failing since the method TestView::setItemDelegate(QAbstractItemDelegate *) was rejected due to QAbstractItemDelegate being unknown. Fix by adding the dependency to QtWidgets. Task-number: PYSIDE-431 Change-Id: I65c3690eccfdd55b310f45d65a2b0d8c32bedd36 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Remove README.md of PySide2/Shiboken2Friedemann Kleint2017-06-022-29/+0
| | | | | | | | They contain outdated links and are no longer required after the repository merge. Change-Id: I6867435bcd1bbe53308dea1d9d8c1ba1a0fc0584 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix .so filter for LinuxFriedemann Kleint2017-06-021-1/+1
| | | | | | | | | | Previously, libpyside.so would not match .so.* and so, the libraries were not copied. Task-number: PYSIDE-526 Change-Id: I407db564beaee1f443dc7b816bc0bf798c8aacf1 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Remove license files from previous submodulesFriedemann Kleint2017-06-0213-6338/+0
| | | | | | Task-number: PYSIDE-431 Change-Id: I35594dbf7dc6430ab5d0a2d235303f2bb7bd3677 Reviewed-by: Christian Tismer <tismer@stackless.com>
* libpyside: Use Q_SLOTS instead of slotsFriedemann Kleint2017-06-022-2/+2
| | | | | | | | | When mixing Python and C++, Qt needs to be used with 'CONFIG += no_keywords' to suppress the 'slots' macro definition, which clashes with a Python header. Task-number: PYSIDE-526 Change-Id: I4feeae2de21db712b4de6653e243d556623436a1 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix typos in licensesFriedemann Kleint2017-05-3016-48/+48
| | | | | Change-Id: I781418f8747d51a0d329c0562e076600989b3768 Reviewed-by: Christian Tismer <tismer@stackless.com>
* setup.py/prepare_coin_sources.py: Adapt to repository mergeFriedemann Kleint2017-05-232-9/+7
| | | | | | | | Remove the former submodules pyside2/shiboken2 from the modules lists. Change-Id: I41de78f5519c24cce1e649eaf3b2f2d1cabcc9b0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
*-. Merge pyside2 and shiboken2 into super-moduleOswald Buddenhagen2017-05-222207-0/+251698
|\ \
| | * move everying into sources/shiboken2Oswald Buddenhagen2017-05-22653-0/+0
| | | | | | | | | | | | | | | | | | 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.
| | * Fix crash on exit with debug Python 3Alexandru Croitor2017-05-191-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Crash happens because of an use-after-free error. This is a bandaid fix transforming the crash into a memory leak. Proper fix will require more investigation and time. Task-number: PYSIDE-488 Change-Id: I56358573ca60d6f18fd85fbd7eb3eb0da8fbf163 Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * Generate #error when a minimal constructor could not be foundFriedemann Kleint2017-05-103-9/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The occurred in 3 places, one of which generated #error and the others used qFatal(). Change it to always generate #error with a bit of context to make it possible to detect the source of of the problem. Change-Id: Icd93b1beec908b57fa72457d6ec1e16a15e5ff14 Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * Fix headergenerator to build under C++11Christian Tismer2017-05-092-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For a long time, headergenerator.cpp did only generate destructors, when the following condition was set: if (!avoidProtectedHack() || !metaClass->hasPrivateDestructor()) { // generate destructor } The condition does not work for C++11. When trying to remove the protected hack, I remembered that I used an ugly CMake trick to make VS 2015 work. This hack provided exactly the missing destructors. I tried very hard to make this hack into a patch for Linux and macOS, too. Unfortunately, when built without the protected hack, Clang enforces a destructor declaration, but then the linker reports an unresolved symbol. I have found no way to circumvent this. Conclusion: Unless we find a way to make Clang work correctly, we have to leave the protected hack as-is on macOS. But then, the whole effort of hack removal makes no more sense. Fortunately, the ugly work-around on Windows is gone, now. So this change involves shiboken and PySide, and probably the one will not work without the other. Task-number: PYSIDE-504 Change-Id: I92b372c15fd2a4280a249de4c099eeb1f18fedd3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * CMakeLists.txt: find python interpreter firstDavide Pesavento2017-05-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake documentation recommends ordering find_package(PythonInterp) before find_package(PythonLibs) when both are called. Change-Id: I582e1d2631f78bb0b9c864acf189ca5e50d976c5 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * Fix build on Windows due to unsupported string concatenation issueAlexandru Croitor2017-04-281-1/+1
| | | | | | | | | | | | | | | Change-Id: Ie8cdf451380a56bea4b23e3d08953f8c7690c95e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * shiboken test/Photon: Properly define noexceptFriedemann Kleint2017-04-281-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Defining noexcept as empty leads to a compile error when including <map> of VS2015/U3. Introduce a macro PHOTON_NOEXCEPT and also enable it for VS2015. Amends change 6c44bbf45124973e8f1a8c35fb28f0537274a794 Task-number: PYSIDE-324 Change-Id: Ie3157f6e62c8e3fe443842513983582edf491d18 Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * Fix Inheritance of PySide, Windows supportChristian Tismer2017-04-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes a logical error, only. The mentioned patch is relevant only when the “protected hack” is _not_ applied. Maybe this will change again, when I evict the protected hack, so feel free to use this change or ignore it. Task-number: PYSIDE-500 Task-number: PYSIDE-331 Change-Id: I58c2b211f71786e613e18ea99c62f0fac337ce14 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Handle recursive typesystem includesFriedemann Kleint2017-04-261-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For QtMultimedia, the QMediaPlayer::setVideoOutput() overloads require including QtMultimediaWidgets' typesystem to make QVideoWidget known. This caused an endless recursion including QtMultimedia's typesystem. Fix by - ensure modifiedTypesystemFilepath() always returns an absolute path even if the file exists so that it is always matched in m_parsedTypesystemFiles - Insert current file into m_parsedTypesystemFiles at the beginning of parseFile() to detect recursion early on. Task-number: PYSIDE-487 Change-Id: I7110c9f1bf144b82a14282e94b894bfb0522ba58 Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * Fix Inheritance of PySide, Windows supportChristian Tismer2017-04-211-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is augmenting the general fix. We had not tested the case with “#define AVOID_PROTECTED_HACK”. This setting can be used under Linux and macOS, but is necessary under Windows, because the recent MS compilers do not allow the setting “#define protected public”. Therefore, certain special cases had to be circumvented by wrapper type casts, and a few more header files were needed. This patch was not tested on Windows, but built on macOS with the mentioned setting. Exhaustive tests can be found in PySide. They are now working as before. Task-number: PYSIDE-500 Change-Id: I9c46d0f181f810879dc75326f2cf39fd2ec853f3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * Fix Inheritance of PySideChristian Tismer2017-04-133-16/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is the third stab at fixing the inheritance of PySide. The problem is now solved. Inheritance was already correct when the functions were disjoint. But as soon as a function existed in both a class and a sub-class, only the class has won, and the sub-class was ignored. This patch fixes that problem. There are 49 new functions, and of course there is QApplication.palette() without an argument. Function ‘searchForEnumScope’ was now corrected, so that the work-around no longer was needed. I had to extend its search. It turned out that the same fix for inheritance was also needed for a correct listing of the allowed function signatures. I finally factored out a new function that is used twice. Exhaustive tests can be found in PySide with the same name. Task-number: PYSIDE-331 Change-Id: If3d7d94f6ed351b5de03e26c9e3e65cf4a5f8ed7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Fix Python extension suffix selection on LinuxAlexandru Croitor2017-04-112-89/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows building Shiboken in any configuration (debug or release) against any version of a Python interpreter (debug or release). Previously specifying --debug forced the user to use a debug version of the Python interpreter. The patch also removes an unnecessary cmake file, which was used in the past to find the location of Python libraries. This has been handled by CMake itself for a while now. Change-Id: I70edcdfee5fde246c1c41cd5b36353cc18aa9bdd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * TypeDatabase: Refactor TypeDatabase::normalizedSignature()Friedemann Kleint2017-03-294-20/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The repeated construction of a QRegExp in loops shows up in the profiler. Change the API to accept a QString and store the regular expressions in a vector. Change-Id: Ic7ac7cdcd55beb901116589083f87c87fb48a4dd Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * Generators: Generate reinterpret_cast<> for SbkObjectType *Friedemann Kleint2017-03-282-44/+54
| | | | | | | | | | | | | | | Change-Id: I27196d4f5be0257e3ab87c291e4ecb6ff234a505 Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * Generate reinterpret_cast<> for cppSelfFriedemann Kleint2017-03-281-4/+6
| | | | | | | | | | | | | | | Change-Id: Iafb5d014f9f33591aebf0ab4b99e3e6942a4d51a Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * libshiboken: Take const SbkConverter/SbkObjectType * where appropriateFriedemann Kleint2017-03-284-53/+60
| | | | | | | | | | | | | | | Change-Id: I0597f4c4f2eb0e8d4979690eeb1f17d78cf4e619 Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * Generator::minimalConstructor(): No longer generate C-style castsFriedemann Kleint2017-03-281-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bool: false Other primitives: int(0) Flags: Flags(0) Enums: static_cast<Enum>(0) Change-Id: Ic24c2d95106682508c58c78d873137f8a91bc3f8 Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * TypeDatabase: Refactor API version checkingFriedemann Kleint2017-03-247-52/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The repeated construction of a QRegExp in the version checking loop shows up in the profiler. Change the API to accept a QString, reducing conversions and remove obsolete API. Port the version checking code to use QRegularExpression and QVersionNumber and store the regexps in a vector. Change-Id: Id3e509e065d73699f49109df1f184edbefb8a09a Reviewed-by: Christian Tismer <tismer@stackless.com>