summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Minor tidying for header guard in qopenglversionfunctions_p.hEskil Abrahamsen Blomfeldt2020-04-171-3/+3
| | | | | | | | | The original was too close to QOPENGLVERSIONFUNCTIONS_H for comfort so to avoid future confusion or errors, just use the convention of matching the file name. Change-Id: I57fcc4da239ddec329f75ac29b254b5909c39bf0 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Clean up memoryLars Knoll2020-04-171-0/+1
| | | | | | | And remove a test failure when compiling with asan enabled. Change-Id: I2b8e676665572adcbbac6a910983d5b209bf6d23 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Simplify signature of untyped property bindingsSimon Hausmann2020-04-173-29/+31
| | | | | | | | | Instead of requiring the implementation to do the compare dance, let's do this in the library. This reduces the amount of duplicated code slightly and makes it easier to generate binding code from qml files. Change-Id: Ia3b16cf9769e74d076b669efe4119ab84af3cdf0 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Make it possible to take bindings from properties without private headersSimon Hausmann2020-04-174-8/+8
| | | | | | | | | | | Passing the QExplicitlySharedDataPointer by reference may lead compilers to wanting to have visibility to the destructor of the contained type (QPropertyBindingPrivate), which is not public. Fortunately QExplicitlySharedDataPointer is safe to use with raw pointers and those can be safely forward declared. Change-Id: I131ab6363eaee10b6dce196fb2c769e09a5c9557 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QEventDispatcherWin32: relax memory ordering on setting wakeUps flagAlex Trotsenko2020-04-171-1/+1
| | | | | | | | | | | | There is no need in 'acquire' operation for the next reasons: - wakeUps is simply used as an atomic boolean that does not require ordering with other loads or stores; - any of testAndSet...() always gets a latest version of wakeUps. Change-Id: Ica38fc62bc181166995946dee9d6887c71d87cec Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QString::from/toLocal8Bit: Assume locale is utf8 if we don't have codecsLars Knoll2020-04-161-2/+2
| | | | | | | | If there is no text codec support, assume local8bit is utf8, not latin1. This is in line with what 99% of all modern systems do. Change-Id: I35ebcd43ef3572a25f549a8375857dcabcfec4ca Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix compilation with QT_RESTRICTED_CAST_FROM_ASCIILars Knoll2020-04-161-1/+1
| | | | | | | | Fix the QString constructor used for restricted casts from char *. Change-Id: Id7e71f6d0bcd4627bb44b2bd6d6790be2b6ed976 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Remove QString::from/toAscii()Lars Knoll2020-04-163-93/+0
| | | | | | | These methods have been deprecated since 5.0 Change-Id: I3ceed57a364ea59a63ccc51452ab3b4da7140ce4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove deprecated members from QtWidgets/kernel classesVolker Hilsheimer2020-04-165-86/+1
| | | | | | | | Cleaning up those that are trivial to remove because they have direct replacements. Change-Id: Ie8ac02c3d6273110f1f11e17fdeae496bc66321f Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* 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>