summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove deprecated members from graphics view classesVolker Hilsheimer2020-04-1611-273/+12
| | | | | Change-Id: Ia192de674b1085edcf4a88cdeada6df89b442ddd Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Remove deprecated QStyle enum valuesVolker Hilsheimer2020-04-167-129/+24
| | | | | Change-Id: I7eba336017844c06b2976df53d440e167abd7894 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Remove deprecated members from dialog classesVolker Hilsheimer2020-04-1610-512/+4
| | | | | | | And a few cleanups of out-dated comments and dead code. Change-Id: I59c6b9129a21b8953626cb63c3ebbf9b6c49a657 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove deprecated QWizard memberVolker Hilsheimer2020-04-162-13/+0
| | | | | Change-Id: If6a0125ab9eba5f1b5040adb2e087003b45f5b3d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move versioned OpenGL functions from QtGui to QtOpenGLJohan Klokkhammer Helsing2020-04-1676-592/+683
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The context—which lives in QtGui—now knows nothing about versioned functions. This changes the public API for getting version functions for a context. [ChangeLog][QtGui][OpenGL] QOpenGLContext::versionFunctions() has been removed. QOpenGLVersionFunctionsFactory::get() from the QtOpenGL module should be used instead. Previously one would call context->versionFunctions<QOpenGLFunctions_4_0_Core>(); Which now becomes QOpenGLVersionFunctionsFactory::get<QOpenGLFunctions_4_0_Core>(context); The rest of the API should be identical. Since glgen no longer compiles, and the links to its input (gl.spec and gl.tm) are dead, I've edited the previously generated files manually. If glgen is fixed, it should be quite easy to make it generate the new way. Task-number: QTBUG-74409 Change-Id: I800527e0af16a79005b276eeb74417770193c62f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Run those autotests with cmakeLars Knoll2020-04-152-1/+17
| | | | | | | They seem to work just fine. Change-Id: I8cf3e682e158c67367d76fe68f5829df67d1e449 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Compile fixes for clang10Lars Knoll2020-04-158-19/+19
| | | | | | | Fix some warnings that are flagged as errors on clang10. Change-Id: I906634c8b2bd94db42d74a7f3d10efb086e373cc Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Port QNetworkProxy over to use QRegularExpressionLars Knoll2020-04-152-6/+8
| | | | | | | | The windows and macOS implementations where still using QRegExp in one place. Change-Id: Iaf6c6ead10f7f061ff0edce889abe18751b9d308 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* CMake: Add library mapping for xcb-fixesLeander Beernaert2020-04-151-0/+7
| | | | | Change-Id: Ida893674fa0782446acdac4ee5dfec4849d4605f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Update pro2cmake and friend to convert QtVirtualkeyboardLeander Beernaert2020-04-153-0/+6
| | | | | | | | | | | | Expand $$MODULE_BASE_DIR to ${QT_BUILD_DIR}. Add library mappings for Hunspell. Add test mappings for QtVirtualKeyboard regarding 3rdparty Hunspell and T9Write. Change-Id: Ief007456d0471cbcf9a03d819291edec5f63680f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QObject: overhaul narrowing detectionGiuseppe D'Angelo2020-04-152-251/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use P0608's trick to detect convertibility without narrowing; and now that we can depend on C++17, use its features. First, this moves the burden of detecting a narrowing conversion on the compiler, rather than us maintaining a complicated series of checks. Of course, this exposes * bugs in compilers (e.g. GCC < 9 thinks that float->bool is not narrowing; * behavior still not (widely) implemented (pointer to bool conversions are narrowing, P1957); * interesting compiler choices, e.g. GCC 9 thinks that unscoped enumerations are non-narrowing convertible to a datatype big enum to contain all the _enumerators_, even if the underlying type of the enum (and/or its sizeof()) is wider than the target datatype. Second, it allows to detect conversions that have a narrowing conversion as an intermediate step. Given a type like struct Bad { operator double() const; }; then an object of type Bad is implictly convertible to a type like int via a narrowing conversion. Therefore, a connection is possible between a signal carrying a Bad and a slot accepting an int. We can now detect and block this. Tests regarding scoped enumerations have been dropped, for the simple reason that a scoped enumeration is not implictly convertible to an integral type, so we don't have that detection (it would constantly fail). Scoped enumerations do not take part in narrowing conversions anyhow, cf. [dcl.init.list]. [ChangeLog][QtCore][QObject] The detection of narrowing conversions when calling QObject::connect() when QT_NO_NARROWING_CONVERSIONS_IN_CONNECT now takes also into account user-defined implicit conversions that undergo through a narrowing conversion. Change-Id: Ie09d59203fe6283378b36dfbc54de1d58098ef51 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Extend the QRegExp->QRegularExpression porting docLars Knoll2020-04-151-0/+5
| | | | | | | | Mention that . matches newlines in QRegExp, but not by default in QRegularExpression. Change-Id: I9663fe30c7b7e068d673aa8d51884f6828e0ee59 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Move the QRegExp porting docs into the QRegExp class documentationLars Knoll2020-04-154-138/+142
| | | | | | | | | | It used to live in QRegularExpression, but as QRegExp gets removed from Qt Core, the better place for it is to live in the QRegExp docs. Also marked QRegExp as deprecated in the docs. Change-Id: Id5b0e3040e4d46f5d806022b58fbd5b5efd58911 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Remove two leftover references to QRegExp in the docsLars Knoll2020-04-152-2/+1
| | | | | Change-Id: I7e025d6a03827addb61740649a77dd74f7416962 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Remove QRegExp based functionality from QObjectLars Knoll2020-04-152-81/+0
| | | | | | | QRegExp is going away for Qt6. Change-Id: I04d6331379dc769394b160d976eb9f21fe649a22 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Remove QRegExp support from QSortFilterProxyModelLars Knoll2020-04-1511-363/+35
| | | | | | | | Map setFilterWildcard() and setFilterFixedString() to now use QRegularExpression. Change-Id: I2dff2015234decb2badfd306975dcff8553cdd7f Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Port example over to QRegularExpressionLars Knoll2020-04-155-26/+44
| | | | | Change-Id: I1e15bfa0a2973aabcad78f3eba4bb4903f8f3f6f Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Convert the example to use QRegularExpressionLars Knoll2020-04-152-17/+32
| | | | | | Change-Id: I7a4259ac43e59a8f50ee1c5072a3da5b977d8bfe Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* Don't anchor wildcard patterns twiceLars Knoll2020-04-151-1/+1
| | | | | | | wildcardToRegularExpression anchors the pattern by default. Change-Id: Ic58e09aa526a7e35803703fa5f7582a250927008 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Add WildcardConversionOptions to QRegularExpressionLars Knoll2020-04-152-8/+33
| | | | | | | | | | There are cases, where the conversion from a wildcard pattern to a regular expression should not lead to an anchored pattern. Allow this, but adding an optional second argument to wildcardToRegularExpression, that allows tuning the conversion. Change-Id: Ida7a32d65ee49bf58d5f8d9906c0a0cd8954a02a Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Port qfilesystemengine_win.cpp to QRegularExpressionLars Knoll2020-04-151-5/+10
| | | | | | | QRegExp is going away in Qt 6. Change-Id: I282a444b9fdf1c834dcf90d7fd6743781b94643c Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Port androidtestrunner to QRegularExpressionLars Knoll2020-04-151-9/+13
| | | | | Change-Id: If135b29996b7036d65472a1b5fa4817cd7907aba Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* CMake: Fix $ORIGIN rpaths to work when passed on the command lineAlexandru Croitor2020-04-151-6/+10
| | | | | | | | | | | | | | The CMAKE_INSTALL_RPATH cache var had the PATH type, which made CMake transform the value into an absolute path, getting rid of the $ORIGIN value. Fix that by changing the cache var type to STRING. Also clean up the all-caps commands, add a usage example and print the install RPATH. Change-Id: Ibf40cfde4283369ddfcf52609143799cc8e47d68 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Improve Map|Map-Reduce and Filter|Filter-Reduce implementationKarsten Heimrich2020-04-1414-405/+1344
| | | | | | | | | | | | | * support lambda expressions * remove the need to specify result_type * use std::invoke to apply map|filter function * remove usage of FunctionWrapper* and createFunctionWrapper Task-number: QTBUG-33735 Task-number: QTBUG-82646 Change-Id: Ibcbe4278f0742c29182bd506081db0abb516f85f Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* QTaskBuilder::spawn: add an overload that doesn't return a future objectVitaly Fanaskov2020-04-145-0/+55
| | | | | | Fixes: QTBUG-83175 Change-Id: Idf85e47a2732742884272200d5c753805eaa640b Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* CMake: Enable Moc for 3rdparty librariesLeander Beernaert2020-04-141-0/+2
| | | | | | | | This is required to support QtVirtualKeyboard's third party OpenWnn library. Change-Id: I64b6a2b6b6b0259bea5aa249a8c901def31f916c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove size assert in QMultiHash::take()Shawn Rutledge2020-04-141-1/+0
| | | | | | | | | | | It doesn't exist in every instantiation of the template; this becomes evident when attempting to build QQuickListView: error: 'using Chain = struct QHashPrivate::MultiNodeChain<FxViewItem*>' {aka 'struct QHashPrivate::MultiNodeChain<FxViewItem*>'} has no member named 'size' Change-Id: I24748c15f3995083eec06d86a3c0dced2209c303 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* CMake: pro2cmake expand variables for qt_add_resource()Leander Beernaert2020-04-141-0/+12
| | | | | Change-Id: Ida1196645dabcb0c3aee210d9bc5ee5632a9ccc5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix qConstexprNextPowerOfTwo(qint64) to return quint64Shawn Rutledge2020-04-131-3/+5
| | | | | | | | | | | | | | It doesn't make sense to lose precision, and that's a fatal warning when used on a 32-bit platform: implicit conversion loses integer precision: 'quint64' (aka 'unsigned long long') to 'quint32' (aka 'unsigned int') [-Werror,-Wshorten-64-to-32] Also fix coding style. Amends 7ef382649754c261ca9eb99dd50b67050e748efb Change-Id: I2c8f51883d74f0c6dc1b5faefe7b3ace1d9c15b9 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix example documentation to not mention QRegExp anymoreLars Knoll2020-04-132-5/+2
| | | | | Change-Id: I2761d8efef31a3b890de9cab78589f1d6c03f62d Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Port test over to use QRegularExpressionLars Knoll2020-04-131-6/+6
| | | | | Change-Id: I7f69fbbdb9e327059cd978b0989eee2c75c5a24b Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Port tracedef to QRegularExpressionLars Knoll2020-04-131-20/+22
| | | | | Change-Id: I38bbf36719c99d4fda102eca375011c38792dd4a Reviewed-by: Rafael Roquetto <rafael@roquetto.com>
* Port androiddeployqt from QRegExp to QRegularExpressionLars Knoll2020-04-131-18/+24
| | | | | | | As a drive-by, also fix spelling of architecture. Change-Id: Ibeaa6b611ddbb75b9492deb5d97a64ed8b030c3a Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Include QRegularExpression in the bootstrap libraryLars Knoll2020-04-138-53/+142
| | | | | | | | This allows us to use regular expressions in bootstrapped tools such as moc and tracegen. Change-Id: I4310dd15bf26651aac6ab30c884e025ca06b3099 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.15' into dev"Qt Forward Merge Bot2020-04-1122-120/+395
|\
| * Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-1122-120/+395
| |\ | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/network/socket/platformsocketengine/platformsocketengine.pri Change-Id: I22daf269a8f28f80630b5f521b91637531156404
| | * Stop using obsolete TouchPoint rect accessors in tests and examplesShawn Rutledge2020-04-102-56/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Followup to cf4a8b12fa277c2ea218f022607934f60fed1a06 68916fede41d1eca5d07eb6b1db518d41a007616 and 3c159957f863cf8d367a9261e7016e52cd0348c1. Task-number: QTBUG-83403 Change-Id: Ieaf418860c565dbe883384e7f296a829fbfa1e33 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * Fix warning about deprecated QComboBox::AdjustToMinimumContentsLengthThiago Macieira2020-04-091-3/+14
| | | | | | | | | | | | | | | Change-Id: Ibdc95e9af7bd456a94ecfffd1603f5c25dabf78e Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * Remove more calls to deprecated TouchPoint functionsShawn Rutledge2020-04-093-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Followup to ed3ed0b9db97a8fab0c03add23228b6b0a96f171 68916fede41d1eca5d07eb6b1db518d41a007616 and 3c159957f863cf8d367a9261e7016e52cd0348c1. In QWindowSystemInterfacePrivate::fromNativeTouchPoints() and QWindowSystemInterfacePrivate::toNativeTouchPoints() we continue using struct TouchPoint's QRectF area as storage for the screen position + ellipse diameters; as the comment says, this is _unrotated_, meaning that rotation is stored separately, and area should not be construed as the bounding box of the rotated ellipse. (In Qt 6 we can make the QPA touchpoint look the same as the QTouchEvent::TouchPoint to eliminate the need to calculate the center of the rect.) In QGraphicsScenePrivate::updateTouchPointsForItem(), setRect() sets the position and the ellipse diameters, but the latter is redundant because the purpose of this function is to localize a touchpoint to the coordinate system of a particular QGraphicsItem. Ellipse diameters should stay the same. In QApplicationPrivate::updateTouchPointsForWidget(), as in QGraphicsScene, we are localizing touchpoints to a widget and to the screen that the widget is shown on, so only the position needs to be set, while preserving the sub-pixel resolution that mapFromGlobal(QPoint) loses. Fixes: QTBUG-83403 Change-Id: I61d29e14cbe38567767b164af6ae895082c5e1a1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * tst_QFileInfo: fix running with systems without /etc/passwdThiago Macieira2020-04-091-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clear Linux containers running as root may have no /etc/passwd. But they'll have /etc/machine-id because systemd creates that. Also test /proc/version (a Linux-specific file) because that isn't writeable even by root. Take the opportunity to check with access() instead of assuming root and only root can write to the file. Change-Id: Ibdc95e9af7bd456a94ecfffd1603e8359604752b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * Fix warning about QMetaObject::isEditable() being deprecatedThiago Macieira2020-04-091-1/+11
| | | | | | | | | | | | | | | Change-Id: Ibdc95e9af7bd456a94ecfffd1603f482445bff28 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
| | * Switch to using versioned deprecated macrosAllan Sandfeld Jensen2020-04-091-24/+24
| | | | | | | | | | | | | | | | | | Change-Id: I4728e6ecc7218a6c98fd3a10e50e6edd1704fb83 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * QCborArray: fix operator[] that extends the arrayThiago Macieira2020-04-092-1/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was never tested. The infinite loop in QCborContainerPrivate::grow is the proof. [ChangeLog][QtCore][QCborArray] Fixed an infinite loop when operator[] was called with with an index larger than the array's size plus 1. Change-Id: Ibdc95e9af7bd456a94ecfffd1603df3855c73f20 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| | * QCborMap: fix assigning elements from the map to itselfThiago Macieira2020-04-092-3/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to the QJsonObject issue of the previous commit (found with the same tests, but not the same root cause). One fix was that copying of byte data from the QByteArray to itself won't work if the array reallocates. The second was that assign(*that, other.concrete()); fails to set other.d to null after moving. By calling the operator=, we get the proper sequence of events. [ChangeLog][QtCore][QCborMap] Fixed some issues relating to assigning elements from a map to itself. Note: QCborMap is not affected by the design flaw discovered in QJsonObject because it always appends elements (it's unsorted), so existing QCborValueRef references still refer to the same value. Task-number: QTBUG-83366 Change-Id: Ibdc95e9af7bd456a94ecfffd1603df846f46094d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| | * QJsonObject: add missing detach2() callsThiago Macieira2020-04-092-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The refactoring to use CBOR missed two places where we could assign from the same object and thus cause corruption. In fixing this issue, I found a design flaw in QJsonObject, see Q_EXPECT_FAILing unit test and task QTBUG-83398. [ChangeLog][QtCore][QJsonObject] Fixed a regression from 5.13 that incorrect results when assigning elements from an object to itself. Fixes: QTBUG-83366 Change-Id: Ibdc95e9af7bd456a94ecfffd1603df24b06713aa Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| | * QFactoryLoader: Fix warning about binary JSON being deprecatedThiago Macieira2020-04-091-0/+3
| | | | | | | | | | | | | | | Change-Id: Ibdc95e9af7bd456a94ecfffd1603f4abb1c3dfec Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
| | * KMS: fix warning about hex() and dec() being deprecatedThiago Macieira2020-04-091-1/+1
| | | | | | | | | | | | | | | Change-Id: Ibdc95e9af7bd456a94ecfffd1603f54bcb86fb87 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * tst_PlatformSocketEngine: Removee SOURCES += of QtNetwork codeThiago Macieira2020-04-091-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoids ASAN warning of ODR violation: SUMMARY: AddressSanitizer: odr-violation: global 'typeinfo name for QSocketEngineHandler' at ../../../../../src/network/socket/qabstractsocketengine.cpp This trick has not been needed since we got Q_AUTOTEST_EXPORT. The main .pro file has: requires(qtConfig(private_tests)) Change-Id: Ibdc95e9af7bd456a94ecfffd1603e598932b88ad Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| | * MinGW: Fix debug only angle buildsKai Koehne2020-04-091-4/+5
| | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-83397 Change-Id: I89e21cc8101a17dcdb232ff5df1a76cc08842434 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: André Klitzing <aklitzing@gmail.com>
| | * tst_QSaveFile: skip test that fails when run as rootThiago Macieira2020-04-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FAIL! : tst_QSaveFile::retryTransactionalWrite() '!file.open(QIODevice::WriteOnly)' returned FALSE. () Loc: [/home/tjmaciei/src/qt/qt5/qtbase/tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp(156)] strace reveals: access("/TEMPDIR/outfile.ro", W_OK) = 0 Change-Id: Ibdc95e9af7bd456a94ecfffd1603eb371aadb02b Reviewed-by: David Faure <david.faure@kdab.com>