summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Change QTaggedPointer API to be more similar to other smart pointers in QtSimon Hausmann2020-03-194-19/+19
| | | | | | | * Rename pointer() to data() Change-Id: I8ef3e552d45c9990fee4b7efa98e2d878ed2cf98 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix warnings when building with MSVC2017Mitch Curtis2020-03-192-3/+4
| | | | | | | | | | | qstring.cpp(10210): warning C4267: 'argument': conversion from 'size_t' to 'uint', possible loss of data qcontiguouscache.h(141): warning C4003: not enough arguments for function-like macro invocation 'max' Change-Id: I01f1fc1c85341ea61c86dcffb1b01fe4cde50eea Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* CMake: Regenerate selftest with latest fixesLeander Beernaert2020-03-1912-9/+62
| | | | | Change-Id: I7453c2439a62331cdc2d7ffaeafb05cd831191c6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add documentation for QTaggedPointerSimon Hausmann2020-03-192-8/+214
| | | | | | | | The class remains \internal though, as it has a very narrow use-case for low-level code inside Qt. Change-Id: I9d2b6486ce29b290af7f930a0bfc78590a83cc01 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Use QTaggedPointer in QPropertyObserverSimon Hausmann2020-03-195-81/+73
| | | | | | | | | | This replaces the private tagged pointer and the use of enums for the tag makes the observer handling code more readable. The pointer-to-tagged-pointer class remains in qpropertyprivate.h due to its exoticness. Change-Id: Icc88799136c6839426d994b42368526463265e66 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Add support for explicitly marking a property as dirtySimon Hausmann2020-03-192-0/+9
| | | | | | | | When a binding is backed by old-style property captures, then having this API is needed for Qml. Change-Id: Icf51efe057eaf845969ed2cda52d082dedde677e Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Enable generic property bindings to QProperty<T>Simon Hausmann2020-03-195-13/+118
| | | | | | | | | | A generic binding allows implementing the binding function in a way that enables the QML engine to run binding scripts and convert the V4::Value into a QVariant and then assign the value to the property with the help of QMetaType::construct. Change-Id: Id4807be92eee7e3501908e6c5e4c861cfcb7772a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Skip inclusion of selfcover.priLeander Beernaert2020-03-191-0/+4
| | | | | | | | | Do not process selfcover.pri in the conversion as the output requires a lot of special case fixs ups. Change-Id: Iebee484db887973369b5604344a6d486f4bea20b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Don't use GUI for tests that use QT += testlib-privateAlexandru Croitor2020-03-191-3/+3
| | | | | | Change-Id: I90cac19928d6e6e30214a6480a5855479a8d4d77 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* CMake: Add global / top-level docs targetsAlexandru Croitor2020-03-182-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously you could use either module-specific or repo-specific 'docs' targets. For example 'ninja html_docs_qtbase' or 'ninja html_docs_Core'. Now there's a global / top-level target called 'docs', so 'ninja docs' works. For super builds it will build the documentation of all configured repositories. For a single repo build, it's equivalent to calling 'ninja docs_repo_name'. Also for consistency, add the "docs_Core" target, which was missing before. So now a 'docs' target exsits for repo names AND targets. New global target names are - docs - prepare_docs - generate_docs - html_docs - qch_docs - install_html_docs_docs - install_qch_docs_docs - install_docs_docs Amends 0095ff4e0659906595d281b37c3b7f89e37250af Change-Id: I686be1e0962e40cbce860e8ac2cabb056b360ac2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: Regenerate and fix qtcpsocket testLeander Beernaert2020-03-182-1/+4
| | | | | Change-Id: I1293ee604bd0a61abd7f6a5fa305defc4d6c9ae9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Enable testlib selftestsLeander Beernaert2020-03-1863-342/+369
| | | | | | | | | | | This patch adds the equivalent of testlib's selfcover.pri and is enabled for both testlib and the respective selftests test. This patch also fixes the selftests so that they can run without FEATURE_testlib_selfcover enabled. Change-Id: I15913de2d572ac79804ce3e652cee66de74318f8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Regenerate projects after harfbuzz-ng macOS adjustmentAlexandru Croitor2020-03-183-37/+1
| | | | | | | | Amends 21c242f9fd27523d0016b821d0a962231c4bafa6 Change-Id: I1041d27d2ab764950b574ff729d987b5efe5f2fe Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* CMake: pro2cmake: Add alternative package installation instructionsMitch Curtis2020-03-181-0/+6
| | | | | | | | | | | I kept getting Ignoring pytest: markers 'python_version >= "3.7"' don't match your environment when using the pip command, but this alternative worked. Change-Id: Ibfc7f36de04153d2247f8f62bd129b0c0c723bf2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Disable two graphicsview testsLeander Beernaert2020-03-181-2/+11
| | | | | | | | Disable tst_qgraphicsproxywidget and tst_qgraphicswiddget as they are never run in coin with the current .pro file. Change-Id: I562fa70e03f7c5e547c52507e3e41f4762c0382a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove garbageLars Knoll2020-03-181-1/+1
| | | | | Change-Id: Ie0b891b9e9c6d12d8684c85a7717d0828fcf1c0c Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.15' into dev"Qt Forward Merge Bot2020-03-188-14/+36
|\
| * Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-03-188-14/+36
| |\ | | | | | | | | | Change-Id: Ia79c2457f20f3428ef1b4358c1094e8dc1bbc33e
| | * Header-review: add Q_DECL_DEPRECATED_X macro to deprecated methodVolker Hilsheimer2020-03-171-1/+1
| | | | | | | | | | | | | | | Change-Id: I486d479b2e07042b397869aab117f44e65539f1e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Fix docs suggesting that it's possible to draw to the X11 screenSimon Hausmann2020-03-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | It's not possible anymore, since many years. The desktop's don't use the X11 root window anymore :) Fixes: QTBUG-82880 Change-Id: I923f29f23e61d93640cacb2ac20620c5ddc480b9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Update Unicode license for CLDR and UCDEdward Welbourne2020-03-171-2/+17
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-82747 Change-Id: I6bbecaf3f0a8f8e7e0ad31074d88dea7ec98dff2 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * Fix memory leak on new QThreadPool::tryStart versionAllan Sandfeld Jensen2020-03-171-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | Also documents the ownership of the traditional tryStart better, and remove a redundant check. Change-Id: I06202465b782926724fa33a901d08c1626f87373 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
| | * Add 'since' tag to documentation of new enum valueVolker Hilsheimer2020-03-171-1/+1
| | | | | | | | | | | | | | | Change-Id: I400dc1f2d3dba0fa50b2bcb5e4efbcfc0ad912fd Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * QLocale: Fix test on MinGW 8.1.0 32 bitCristian Adam2020-03-171-0/+1
| | | | | | | | | | | | | | | | | | | | | The call of _control87 would crash because of the previous test. Change-Id: I254efe9c2e9892a473a02663e5ff7016791d5d6d Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
| | * Log the possible socket error code for the flaky testSona Kurazyan2020-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tst_QSocks5SocketEngine::simpleConnectToIMAP() is flaky. It may be useful to log the socket error, to provide more info in case the test fails again. Change-Id: Ia5518dce13fd9da1fa5bfb3d5cf3a52a908b8698 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| | * QNetworkReply: stabilize sslSessionSharing testMårten Nordheim2020-03-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes this test would fail due to the session not actually being reused. The cause of this was that the requests were sometimes being completed 1-by-1, enabling the individual requests to re-use the already-connected socket completely because it stayed connected. Setting the Connection-header to close lets us be sure that the socket cannot be re-used when the request is finished. Fixes: QTBUG-82846 Change-Id: I5da8baa50a3a45fb60f1e1613e500e3e9c034fb0 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Add support for exposing public QProperty members in the meta-object systemSimon Hausmann2020-03-189-30/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment this makes the type as well as the setter/getter available through the meta-call as well as the ability to register observers and bindings. Only QProperty members that are annotated with Q_PROPERTY(type name) are made public through the meta-object. Change-Id: I16b98fd318122c722b85ce61e39975284e0c2404 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | | Add a way to filter only rows or columns in QSortFilterProxyModelGiulio Camuffo2020-03-184-16/+157
|/ / | | | | | | | | | | | | | | | | | | | | | | | | If we want to filter away a column without changing the filtering for the rows calling invalidateFilter() is wasteful because it will call filterAcceptsRow() for all rows even though that is not needed. This commit add two functions, invalidateRowsFilter() and invalidateColumnsFilter() that work the same way as invalidateFilter() except that they will invoke respectively only filterAcceptsRow() and filterAcceptsColumn(). Change-Id: Ib4351cf08c229bd97bbbfee6da92397dca579a84 Reviewed-by: David Faure <david.faure@kdab.com>
* | Don't limit AAT support to Darwin based platformsLars Knoll2020-03-181-2/+0
| | | | | | | | | | | | | | | | Harfbuzz supports this in a cross platform way, so there's no reason not to accept a font with AAT tables on other platforms. Change-Id: I00c38a11dfd4a32e846254c1da9e8841090f5fd9 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | macOS: Disable CoreText shaper in Harfbuzz-NGEskil Abrahamsen Blomfeldt2020-03-171-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On macOS, we have been using a different code path internally in Harfbuzz-NG for shaping, since most fonts on the platform are based on AAT rather than OpenType, and this was not supported by the OT shaper in Harfbuzz before HB 2.0.0. However, AAT support has been added to the main shaper code now, and is in a shape where it is used in both Chrome and Firefox, Since we have upgraded the Harfbuzz in Qt as well as updated the minimum required version for system-harfbuzz, we can also use this code path and avoid another source of platform-specific issues. Change-Id: I5cf4626d986998a0a4614c751183bcac6f4e588d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Make it possible to use QTaggedPointer within classesSimon Hausmann2020-03-172-12/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A common pattern in declarative is to use the unused bits in linked list next pointers for additional information storage. The "next" pointer is typically then a tagged pointer of the containing class, which is not fully defined yet. Therefore alignof() can't be used at tagged pointer instantiation time. This patch delays the calls to alignment, etc. until the corresponding functions are used, as in principle the tagged pointer is just a quintptr and no additional information should be needed until operating on it. Change-Id: I87a3578ee921d471e1b60ed5903b549ef0610b97 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Property binding system: Fix developer build with MSVC 2019 (16.4.1)Friedemann Kleint2020-03-172-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix wrong forward declaration - De-inline constructor of QUntypedPropertyBinding(), fixing: qtbase\include/src/corelib/tools/qshareddata.h(184): error C2027: use of undefined type 'QPropertyBindingPrivate' qtbase\include/src/corelib/kernel/qpropertyprivate.h(60): note: see declaration of 'QPropertyBindingPrivate' qtbase\include/src/corelib/tools/qshareddata.h(184): note: while compiling class template member function 'QExplicitlySharedDataPointer<QPropertyBindingPrivate>::~QExplicitlySharedDataPointer(void)' qtbase\src\corelib\kernel\qproperty.h(143): note: see reference to function template instantiation 'QExplicitlySharedDataPointer<QPropertyBindingPrivate>::~QExplicitlySharedDataPointer(void)' being compiled qtbase\src\corelib\kernel\qproperty.h(142): note: see reference to class template instantiation 'QExplicitlySharedDataPointer<QPropertyBindingPrivate>' being compiled qtbase\include\/src/corelib/tools/qshareddata.h(184): warning C4150: deletion of pointer to incomplete type 'QPropertyBindingPrivate'; no destructor called qtbase\include\/src/corelib/kernel/qpropertyprivate.h(60): note: see declaration of 'QPropertyBindingPrivate' Amends 9f9049b486a47aef0c7e2e3852b20aa4ffdce748. Change-Id: Idd613e2487d5ab7f8ead74747acd976d5d210c28 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | src\angle\src\config.pri: remove references to gnuwin32Mitch Curtis2020-03-171-8/+0
| | | | | | | | | | | | | | | | | | | | gnuwin32 repository was removed from Qt 6 in f96355679. If we don't do this, it could look for the wrong version of flex. Done-with: Andy Shaw <andy.shaw@qt.io> Change-Id: I15cd68ceb17c33dfc6316a469bca706100bfce60 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* | Introduce helper class QTaggedPointerTor Arne Vestbø2020-03-1712-0/+684
| | | | | | | | | | | | | | | | | | Useful for attaching small bits of information in the alignment bits of a naked pointer. For use in the new property system as well as in qtdeclarative (where currently a similar class exists as private API). Change-Id: Idf9b93e714e15129f302e16425dbeda94bcd207b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Introduce always constexpr variants of qNextPowerOfTwoFabian Kosmale2020-03-171-18/+35
| | | | | | | | | | | | | | | | | | Amends e464e1eb8eb63c631fb0916c3ea4540a88d8aad3. qNextPowerOfTwo has the same issue as qCountTrailingZeroBits. Change-Id: Ib1905986e932ac130bce7a1d98f4f7b5ef73991f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | CMake: pro2cmake: Handle javascript files not present in qmldirAlexandru Croitor2020-03-171-0/+5
| | | | | | | | | | | | | | | | | | | | If a file is present in a QML_FILES variable inside a qmake .pro file, but is not listed in the static qmldir file, mark the file so no qmldir entry created for it. Change-Id: I3ec77b6eedf70ea9124bf7f447ee3477204bc4f7 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | CMake: pro2cmake: Handle system tiff featureAlexandru Croitor2020-03-171-0/+1
| | | | | | | | | | | | | | | | Don't exclude it, because we use it in qtimageformats. Change-Id: I0004830580dd9711cf7a5bd934ecd5a7f9036800 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
* | CMake: Regenerate projects and adjust after old harfbuzz removalAlexandru Croitor2020-03-174-12/+47
| | | | | | | | | | Change-Id: I3a00334f2b29caa739d6a1d8edd4c7311dda812f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix compilation with -no-feature-regularexpressionEskil Abrahamsen Blomfeldt2020-03-177-4/+39
| | | | | | | | | | | | | | | | | | This -no-feature has probably not been tested for a while and seems to have rotted a bit, both some unprotected uses and some warnings on unused parameters. Change-Id: Ie20a06c78d3b4c36860dab49d6615eaa8ffc9077 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Remove QRegExpValidatorLars Knoll2020-03-1711-319/+7
| | | | | | | | | | | | | | As QRegExp will be moved to a compat library in Qt 6. Change-Id: I181aec45bd798f49d2c50a0e7fb64782e004b854 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* | Remove QRegExp usage from the the OCI pluginLars Knoll2020-03-171-4/+8
| | | | | | | | | | | | Change-Id: I95009b5bc6f9ce4356e707e07c5cb7346aaf9245 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Remove QRegExp usage from Qt PrintSupportLars Knoll2020-03-171-3/+10
| | | | | | | | | | Change-Id: I32daae8e5028084dd12f0aba4da7920f995d919f Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* | Bump the minimum requirement for harfbuzz to version 2.6.0Lars Knoll2020-03-171-1/+1
| | | | | | | | | | | | | | | | That will give better text rendering capabilities in Qt and allow us to clean up some more code. Change-Id: Ia11b7ab57cda8320047381224989766b854e8ca5 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Remove the old harfbuzz library and integration codeLars Knoll2020-03-1765-27598/+0
| | | | | | | | | | | | | | | | | | It's not used anymore. harfbuzz-ng is a requirement in Qt 6 if you want any open type shaping. Fixes: QTBUG-82881 Change-Id: If7100aebdcfa078a999608bb8f07a2ef3a79d282 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Remove old harfbuzz support from QFontEngineLars Knoll2020-03-171-146/+3
| | | | | | | | | | Change-Id: I1595ce32d2b88b98157bcf8020ac22db93d7ea64 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Remove old harfbuzz dependency from QTextEngineLars Knoll2020-03-172-150/+6
| | | | | | | | | | | | | | We're either using harfbuzz-ng or disable shaping now. Change-Id: Ia80bc4671efb20eabb35d7560abc774cdad7f424 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Remove harfbuzz dependency from qunicodetoolsLars Knoll2020-03-173-40/+1495
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Copy the relevant harfbuzz code over from Harfbuzz into qunicodetools.cpp This is basically the attribute functions from the different harfbuzz shapers. Those methods do not require any font support but operate purely on unicode input data. Adjusted the code to use Qt's own data structures and enums (QChar::Script and friends) instead of the harfbuzz equivalents. The code is 100% copyright The Qt Company, so we can do this without requiring any attribution. Change-Id: I8262ba34eae1837f031f07d1b6d9917c0224e160 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Change signature of initScripts to take out pointer to a QVLA<ScriptItem>Lars Knoll2020-03-174-26/+17
| | | | | | | | | | | | | | This avoids one additional copy of data that we've been doing before. Change-Id: I3fae0ebe0cded632b41fdcf7efc01d5c7f2dc181 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Remove QRegExp usageLars Knoll2020-03-161-5/+3
| | | | | | | | | | | | | | It's deprecated in Qt 6. Change-Id: I9ea27ed31a8df39670c0a50c9cb182c7f950ad96 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Remove unused includeLars Knoll2020-03-161-1/+0
| | | | | | | | | | Change-Id: I98f018c63295e09c5e374741583d191eca97de3b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>