summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* QPartialOrdering: update docs and change parameter names6.5Dennis Oberst2023-05-172-59/+87
| | | | | | | | | | | Let's be more explicit with QPartialOrdering's showcase of its functionality in the docs and define a possible function-declaration. Also change all parameter names to lhs and rhs, respectively. Change-Id: Ibc5c0b418bff3278e10e415c7f5bfa86227fc066 Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 15eca98214d10e4ee5c49e9dbcee002687826fd2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Check if next property in the list is not empty before adding a commaAlexey Edelev2023-05-171-0/+3
| | | | | | | | | | | | | Property merging genex only checks if previous value is not empty, but doesn't check if an actual value that we concatenate is not empty too. Add the check to make sure we don't have trailing comma in the json lists. Fixes: QTBUG-112885 Change-Id: I1a5265ddf1b12f763650daf3c6e3538ed52a1674 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit a3cb388eaa6f50ce70e96bd413a19da5dc7c906c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* shortcuteditor example: Don't reference null-actionTor Arne Vestbø2023-05-171-5/+5
| | | | | | | | | | The parent nodes of the leaf ShortcutEditorModelItem nodes do not have an action item. Change-Id: If9f8554101974a96f95db048b1bd691f3e89a23a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit fda4da6df96f336d03ac1d018cecea03cbf31627) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QDnsLookup/Unix: do skip DNS records that aren't of class INThiago Macieira2023-05-161-0/+3
| | | | | | | | | | | | There's nothing saying the server can't supply those to us, so let's explicitly skip them. The Windows version already does this because the windns.h API only supports records of class IN. Test for this after setNameserverPort() is added. Change-Id: I3e3bfef633af4130a03afffd175e6ddc756c91c5 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 25869c0aad8ab58914053c2977582514ed4c19d7)
* tst_QDnsLookup: don't fail if the server refused to answerThiago Macieira2023-05-161-34/+35
| | | | | | | | | This happens often for me for ANY queries via Dnsmasq (home router) or via whatever the corporate DNS servers are in the office. Change-Id: I3e3bfef633af4130a03afffd175e2656ae5e2c3e Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit af9fa21a70c485accd152995f47cfafb0d0341d4)
* Clarify documentation about QGuiApplication::setDesktopFileName formatDavid Edmundson2023-05-161-3/+3
| | | | | | | | | | | | Whislt the documentation says "base name" there are lots of examples in the wild of clients using the wrong name here. Writing it explicitly might help. Task-number: QTBUG-75521 Change-Id: Ic17ca161cf58449e85e25d9b6b8ace44fe14f18a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 0c5135a9dfa6140d23d86b001c3054891c22dcb9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* RSS listing example: prefer setDevice() over addData(readAll())Edward Welbourne2023-05-161-13/+9
| | | | | | | | | | | | | | | | The network reply is a QIODevice, so the QXmlStreamReader can be set to read from it directly, which it might potentially do incrementally, rather than by reading all the data in one go. In the process, change the set-up of the reply to first check that it got a valid URL, then check it got a reply, before doing things with that reply. Task-number: QTBUG-111228 Change-Id: I3642e24e0d10721e4a0325b35a94dcb5dfbcd4e6 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit d75e772e2252a37c55ada3d84a301d3d296c1d02) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Make sure that -utf-8 flag only apply to MSVCAlexey Edelev2023-05-161-1/+1
| | | | | | | | | | | | | | | | | INTERFACE scope propagates the '-utf-8' flag to the target dependencies. So if Qt is built using MSVC, but the depending targets use different compiler this flag will break the compilation. Guard the flag using genex. Amends e3cc2487ce63cae42d8054b38fdb54abe8545007 Task-number: QTBUG-112737 Change-Id: Ie0576667108820dd61035debfc1fcc030ef3536a Reviewed-by: Lars Schmertmann <lars.schmertmann@governikus.de> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit c33427240f1e7e99a36d4c8fff19975ebe508839) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Remove the "classwizard" exampleVolker Hilsheimer2023-05-1624-199/+26
| | | | | | | | | | | | | | | It adds nothing new to what the trivial and license wizard examples show, other than a bunch of somewhat messy and outdated code to generate C++ code files based on the input. The example is referenced in a few parts of the documentation, but there are equivalent snippets in the trivial and license wizard examples, so point at those instead, and add some relevant API usage where needed. Change-Id: If1ff57e775bad28920d9e019aeccae69d1f4d127 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit b7c15f7f24c1f0afcea87b31d3b4e096149c9e7d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Convert "extension" dialog example into snippetsVolker Hilsheimer2023-05-1613-129/+37
| | | | | | | | Task-number: QTBUG-108751 Change-Id: I8ca4e058b832674dc0c8b84024cb70a667ee8db4 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit 11da92ba94570e5eec01597fe09f0a9a48acc677) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Unblacklist tst_QDnsQuery::lookupMårten Nordheim2023-05-161-2/+0
| | | | | | | | | | | It was blacklisted some years ago, the bug was closed as cannot reproduce, and no one unblacklisted it. Change-Id: I51f1fe4d819e0f90bf18c19b67fa0dca198914d4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 36e59db1bb08c30e54e985d338134dfb3823f004) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Revamp the shapedclock exampleVolker Hilsheimer2023-05-164-70/+34
| | | | | | | | | | | | | | | | | Rename it to "Translucent Background", as that's what the example shows how to do. And modern applications shouldn't use a (binary) mask to create shaped windows. Instead, set the TranslucentBackground attribute, don't paint pixels that should be fully transparent and use anti-aliased or semi-opaque painting for pixels that should be translucent. Adjust the example and documentation accordingly. Move the statment that widget masks create coarse visual clipping to the QWidget::setMask documentation. Change-Id: Id49d854093f2cb471afb178d32723081c7543543 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 8e94af2ed0577936cabaffab336014c1be9002af) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qoffscreensurface.h: Add module to Q_MOC_INCLUDEFabian Kosmale2023-05-161-1/+1
| | | | | | | | | | | | Depending on the build configuration, just using <QScreen> will not find the header. Fixes: QTBUG-113619 Change-Id: Iaaf6f75ce82f8e32a1b1835614accd898b45824e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit fd565750f3cec5fcf4017cba0ffbb42efc20edd5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Darwin: Disable QMacAutoReleasePool tracker unless explicitly enabledTor Arne Vestbø2023-05-161-0/+4
| | | | | | | | | | | | | There's a few orders of magnitude of overhead using QMacAutoReleasePool with the tracker enabled, so disable it even for debug builds, unless explicit auto release pool debugging has been enabled via the environment variable QT_DARWIN_DEBUG_AUTORELEASEPOOLS. Change-Id: Iec00c703eb21e1914903954cfd02f9f6b1ec2a1f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (cherry picked from commit 7cf7e884171555d13672ceed5ae34434054dd2d9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Darwin: Disable QMacAutoReleasePool tracker in release buildsTor Arne Vestbø2023-05-161-2/+5
| | | | | | | | | | | | It adds overhead that is noticeable, especially in tight loops that rely on an auto-release pool. For example, this improves the QLocale date to string transformations an order of a magnitude. Task-number: QTBUG-104785 Change-Id: I246dc4e114bd75dd4e3e9e42b061c4c20c94d522 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 59c686080dfa77be2dbc434b6ff6f362b5a02d25) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Darwin: Remove QMacAutoReleasePool heap allocation detectionTor Arne Vestbø2023-05-162-68/+3
| | | | | | | | | | | This is handled by the Objective-C runtime nowadays, where it will abort if the situation is detected, with the option to break on objc_autoreleasePoolInvalid to debug the situation. Change-Id: Idf2c4aacc77e41a3deebf270303f4f13cfb0819b Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit e95f03f989b73bddb52a54fed6a89428de151b09) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QHash: suppress GCC 12 & 13 warning that QHash could overflowThiago Macieira2023-05-161-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can't unless you really have so many elements that it should overflow. When growing, we call bucketsForCapacity(), which won't overflow; when copying/detaching, we allocate the exact same amount of memory that we've previously allocated, so that has to be good too. There was nothing wrong with the previous code. The warning was showing how the compiler had detected a possible overflow and caused a call to operator new(-1) to force std::bad_alloc to be thrown. Disabling the warning did not work in LTO mode. So we mimic it: Q_CHECK_PTR will call qBadAlloc() for us if exceptions are enabled, or qt_check_pointer() if not but assertions are (if neither are, then we have no means of reporting the error, so let's just assume that it can't happen). In function ‘allocateSpans’, inlined from ‘__ct ’ at qhash.h:581:48, inlined from ‘detached’ at qhash.h:596:20, [...] qhash.h:551:19: warning: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=] Commit 1d167b515ef81ba71f3f47863e66d36ed6d06c1c is the likely source of this warning. Fixes: QTBUG-113335 Change-Id: Ieab617d69f3b4b54ab30fffd175bb8d36228209c Reviewed-by: Lars Knoll <lars@knoll.priv.no> (cherry picked from commit 5f5daae04a93f3d522565ab57d7ed8faa239adf1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QHash: centralize the span allocationThiago Macieira2023-05-161-9/+17
| | | | | | | | | | Deduplicates code and will allow me to insert some magic. Task-number: QTBUG-113335 Change-Id: Ieab617d69f3b4b54ab30fffd175bb4a2af610ff8 Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 1acbcc318ad536ab25ffde3f7c786a3c0706311f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QDnsLookup/Unix: make sure we don't overflow the bufferThiago Macieira2023-05-151-6/+25
| | | | | | | | | | | | | | | | | | | The DNS Records are variable length and encode their size in 16 bits before the Record Data (RDATA). Ensure that both the RDATA and the Record header fields before it fall inside the buffer we have. Additionally reject any replies containing more than one query records. [ChangeLog][QtNetwork][QDnsLookup] Fixed a bug that could cause a buffer overflow in Unix systems while parsing corrupt, malicious, or truncated replies. Pick-to: 5.15 6.2 6.5.1 Change-Id: I3e3bfef633af4130a03afffd175e4b9547654b95 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io> (cherry picked from commit 7dba2c87619d558a61a30eb30cc1d9c3fe6df94c) Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* Doc cleanup: remove old gettingStarted tutorial, move doc fileVolker Hilsheimer2023-05-1522-517/+1
| | | | | | | | | | | | The Qt getting started tutorial is based on the "notepad" example files in this directory, the gettingStarted/gsQt files are completely unused and not referenced in documentation. Change-Id: If8caebd2c8359c81f94f72ef40a1cf92a021a83f Reviewed-by: Safiyyah Moosa <safiyyah.moosa@qt.io> Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit c6540cb6e41aea6b4152109cade9aa145884a8f6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QTabBar: Add testcase for tabs not scrollingVolker Hilsheimer2023-05-151-0/+26
| | | | | | | | | | | | Verify that changing a tab's text doesn't scroll. Fixes: QTBUG-45381 Task-number: QTBUG-113140 Change-Id: I02ace9d3fcaa20d8ff5d87ccca5d96a4114b0fb0 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io> (cherry picked from commit c113a7a7969781877acfe30eb8e20c66f69f94f0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QReadWriteLock: force the loop to exist in a separate functionThiago Macieira2023-05-151-2/+15
| | | | | | | | | | | | This allows the fast, uncontended case to exist in a function that does much less work and therefore needs to save less state in its prologue. This is interesting too for LTO because the compiler can then inline the fast, uncontended path where the locks were used. Change-Id: I3d728c4197df49169066fffd1756dc04d8a5f04a Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 834c755977bbfe66e041aba6d2dfa69954eb3808) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QReadWriteLock: remove the private function from the symbol tableThiago Macieira2023-05-155-41/+56
| | | | | | | | | | | Just move it to the private class. This also allows this function to get inlined in QWaitCondition::wait(). Change-Id: I6f518d59e63249ddbf43fffd1759fc99c28c7ca8 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 0c0778fb36641efe73caa8776ee0a2ffdc98f4ea) Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
* Update screenshot exampleVolker Hilsheimer2023-05-152-1/+1
| | | | | | | | | Refresh screenshot of the example, and remove "Example" word from title. Change-Id: I88c00db5b25536c45622bc580a9da5aaf01610bc Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit 328680b34bc9d37bbfb42e188d9f943c07b5d5d0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Don't grab QWhatsThis background on non-Windows platformsTor Arne Vestbø2023-05-151-0/+9
| | | | | | | | | | | | | | The logic was introduced in 186589abd48b17fdb9b631211008753e2d1701b3 due to Windows supposedly not supporting NoSystemBackground. It's not clear whether this is still the case, but as this workaround causes problems on other platforms, such as bringing up the screen capturing permission dialog on macOS, it should be limited to Windows. Fixes: QTBUG-113556 Change-Id: I197adb5fc177faebc0f2fcd28612e3daa0c22ed5 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 6a28b391f71d8626c1793aa3bf732dea10519653) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* MOC: pass the erroneous Symbol as an arg to Parser::error() overloadAhmad Samir2023-05-154-19/+36
| | | | | | | | | | | | | | | | | | | | | We already know the Symbol while parsing, passing a reference to it to error() makes it simpler to construct the error message. This fixes an issue where reporting an error about "NONSENSE" in e.g.: Q_PROPERTY(Foo* foo NONSENSE foo) would be off-by-one and the error message would say: path/to/file.h:11:1: error: Parse error at "foo" instead of 'at "NONSENSE"', which is where the parser actually found an unexpected attribute. Fixes: QTBUG-36367 Change-Id: Ief70e544af41f7575fbeea9b936fa8197c3ef43d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit d2242c353fac9b76437b2c3bc521c0e6e415f3b1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Revert commit "don't ever force fork() instead of forkfd()"Thiago Macieira2023-05-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d6bf71123d3ef073f25610345cb5dc920e4fb783 and the docs from commit 82b75570f099911076ad0e144927862e8e359fbd ("QProcess/Linux: fix file descriptor leak in case of failed child start"). Despite the title of the commit being reverted, the actual consequence is slightly different: we always use the forkfd() function, but we change whether we force the use of the fork() library function by use of the FFD_USE_FORK flag. Commit 97645478de3ceffce11f58eab140c4c775e48be5 (5.15) first added the FFD_USE_FORK flag with a hack to detect whether the setupChild() virtual might have been overwritten. A configure-time feature to force the flag was added in commit 2ed99ff5ca338ac02f71c347b1449d4662e6c221 (6.0). Before the 6.0 release, commit d6bf71123d3ef073f25610345cb5dc920e4fb783 removed the conditional use of FFD_USE_FORK, with the changelog message saying "pthread_atfork() callbacks are consistently not invoked". We've also since added vfork()-like behavior. We tried it for Qt 5.15 and reverted shortly afterwards because we had got the memory semantics wrong. Commit e1a787a76ed462e4ed49db78a40c6d7e272182d7 (6.5) finally got it right, for Linux, which revealed another set of problems with functions used in the child process modifier. Therefore, we're going to make vfork() and clone() usage opt-in if the child process modifier is active. This commit is the first part: disabling their use by default. The flag to opt in will come in Qt 6.6. [ChangeLog][QtCore][QProcess] Reverted a change from Qt 6.0 that made the childProcessModifier() callback be run in a child created by means other than a real fork() library call, a situation in which certain other library functions would be unusable, unreliable, or cause deadlocks. A flag to opt in to the solution with better performance will be added to Qt 6.6. Task-number: QTBUG-104493 Fixes: QTBUG-111243 Fixes: QTBUG-111964 Change-Id: Icfe44ecf285a480fafe4fffd174d3e66843e5a29 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 29b2fe40dc778ec73da7e5643fcfd8979d8ecebc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QProcessPrivate: repack and reorganize the membersThiago Macieira2023-05-153-36/+34
| | | | | | | | | | | | | | | | | | Reduce the number of #ifdef blocks and use quint8 for the enums that don't need more than 8 bits anyway (none of them do). Plus move the std::function callback to an indirect block, as most users of QProcess won't set them and this type is 4 pointers with libstdc++ and libc++. After this, QProcessPrivate on 64-bit Unix is 688 bytes, of which: - 392 bytes from QIODevicePrivate - 295 bytes of own data - 3x56 bytes per Channel (which have 5 bytes of tail padding each) - 1 byte of tail padding and no middle padding Change-Id: Icfe44ecf285a480fafe4fffd174d188a0821d060 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 2b98dd7645544c27ed0a363810eb784aa53d293f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Move the addressbook tutorial into manual testsVolker Hilsheimer2023-05-1569-2/+1
| | | | | | | | | | | | | | | The tutorial is building an elaborate UI around a QMap. It doesn't use structured data, and it doesn't use model/view (which the dedicated addressbook example in itemviews does). It's not a good way of building an application, and the individual APIs for creating layouts, dialogs, or import/export are explained well enough in other examples. Change-Id: Iffe47a0f6e04a933edb917c877ae845f50b74b4a Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit f4b338833e0222db68f37914ecfa21ff11fd718a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Replace mentions of deprecated macroTopi Reinio2023-05-152-3/+3
| | | | | | | | | | Q_ENUMS() is deprecated in favor of Q_ENUM(). Task-number: QTBUG-113229 Change-Id: I29cc23c87b1d6e8eeb49dd1d3ddaf4ca7d2cf8c2 Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit cb8a71dac6dd905af14403e98bbd090dc6984eb8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Make QByteArray(qsizetype size, Qt::Initialization) doc publicTopi Reinio2023-05-151-2/+0
| | | | | | | | | | | The constructor that doesn't explicitly initialize the content of the array can be useful in some cases. Fixes: QTBUG-111582 Change-Id: Icc4bd753f1944a91be70316a7303bb822f79d472 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 506d237751d15468fcca52714cc4e9688f77e8fe) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add QIconLoader debug logging to aid fallback logic investigationTor Arne Vestbø2023-05-151-7/+43
| | | | | | | | | | | The icon loader machinery is a bit opaque, so let's add some logging to understand the interactions. Change-Id: Ic400b6043607795ad92771f9d9f189699f185366 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit 798456c0a39468c41784817435a2cf622d0f9b12) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Tracepointgen: Fix debug print warningsAntti Määttä2023-05-151-5/+5
| | | | | | | | Change-Id: Id6386fd4226024b6bd919b20adc4a5b02c53bc80 Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io> Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> (cherry picked from commit 3962a27bd853caee97f9f4157d6da87118c94c76) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Network: Remove Q_DECL_METATYPE_EXTERN for single-.cpp metatypesThiago Macieira2023-05-144-10/+0
| | | | | | | | | | | | | | | | These were added in commit 20e6a049fee48e876c8c6903101b58f918b5aab2 as a massive sweep of all Q_DECLARE_METATYPE, without thought as to whether they were actually needed or not. If they are used as a metatype in a single .cpp file, they don't need to be. Incidentally removes the entirely incorrect Q_NETWORK_EXPORT of QDnsLookupReply. Change-Id: I3e3bfef633af4130a03afffd175e6f378f09a3aa Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit d26709cd8c0b09242f8b65bc1de696bcf87fad7c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QProcessPrivate: remove the member variable "crashed"Thiago Macieira2023-05-134-9/+11
| | | | | | | | | | | | | | It was only used to later set exitStatus = CrashExit, so simply do it early. Drive-by removal of a magic numeric literal in the middle of the source code. It's still magic, but at least we avoid accidentally making typos. Change-Id: Icfe44ecf285a480fafe4fffd174d4176a5d87641 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit c257e518c161122625dc1b5e62742b6195d67f7a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* tst_ContainerApiSymmetry: fix mutable lambda anti-patternMarc Mutz2023-05-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | STL algorithms, in general, don't specify how often the function objects passed to them are copied during the run of the algorithm. While generate_n is above any reasonable suspicion of copying the function object after the first invocation, passing a mutable lambda containing the counter is still an anti-pattern we don't want people to copy. Fix in the usual way, by keeping the counter external to the lambda. As a drive-by, replace post- with pre-increment. Amends dc091e74431acbe66ae7921ba82d3eb34ae8cc55. Change-Id: I9c44e769fd41e5f7157179a2be4c3534424cf913 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> (cherry picked from commit edc953948c814c0729d9e22ac903343d4cead0cc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QString: add a tst_QString variant with QT_NO_CAST_FROM_ASCIIAhmad Samir2023-05-132-99/+163
| | | | | | | | | | | | | | Now the tst_qstring is compiled three times: - with QT_NO_CAST_FROM_ASCII defined - with QT_RESTRICTED_CAST_FROM_ASCII defined - with neither of the above defined so as to cover more code paths. Task-number: QTBUG-109228 Change-Id: I65eca0f6f6aea66fed6eeda1eb77a50a97210807 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 7564583d362cc456bd6b17878ac25f6d93d113a8)
* tst_QAnyStringView: fix warning of unused variable by using itThiago Macieira2023-05-121-1/+3
| | | | | | | Change-Id: Ieab617d69f3b4b54ab30fffd175c78ddb5fb919d Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 3cc39197f816ac7a84b5211df23e553309fe44c0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Don't advertise qt_add_big_resources on qt_add_resources pageJoerg Bornemann2023-05-121-2/+2
| | | | | | | | | | | | | | Don't refer to qt_add_big_resources as the preferred way of adding big resources. The qt_add_resources command has support for big resources these days. Move the link to add_big_resources to the "see also" part of the page. Change-Id: I030ef079db8ac41417049e58e98eb7aa6fd809e9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> (cherry picked from commit adbfdacacc70abc3d0b1c71fd879407baedde838) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QDnsLookup: treat NOTIMP replies as server failuresThiago Macieira2023-05-122-0/+2
| | | | | | | | | "Not implemented" is not "invalid reply". Change-Id: I3e3bfef633af4130a03afffd175e2687e7585f36 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 6ac04064649c69824ceec91bb4161d1475238ea0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* tst_QDnsLookup: create a dedicated test for IDNThiago Macieira2023-05-121-9/+18
| | | | | | | | | | Instead of using initTestCase and QFETCH_GLOBAL, which make the rest of the tests repeat themselves with IDN data, which isn't necessary. Change-Id: I3e3bfef633af4130a03afffd175e2537ba89dc04 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 9f7b341aae0bcab47ed51a5238fde5be37edc6b3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Make sure that -Zc:__cplusplus, and -permissive- only apply to MSVCAmir Masoud Abdol2023-05-111-1/+2
| | | | | | | | | | | | | As described in the bug report, in cases where host Qt is built using MSVC, these flags may leak to user projects if they are set to be configured by a different compiler, e.g., Clang. Fixes: QTBUG-112737 Change-Id: Iad922e24cc7e7f835e08ed37271dfbedc6e38dbe Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit b0f78c22bde854ee34f8e2b6d219e82759f55e53) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QDBusConnectionPrivate: Fix handling of queued messagesIevgenii Meshcheriakov2023-05-114-1/+118
| | | | | | | | | | | | | | | | | Handle any queued messages before attempting to dispatch any newly received messages. This ensures that messages are processed in the order they were sent. Add a regression test for this bug using code adapted from the bug report by Pascal Weisser. Because of the nature of the bug, this new test does not always fail even when compiled with affected versions of Qt though. Fixes: QTBUG-105457 Change-Id: I2725f3450ad537d63d6660e21645ac2c578e1768 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 859ef056331a94fb0b1e4b41f596ff78539dfd8b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* animation: use Q_EMIT in private headerTim Blechmann2023-05-111-2/+2
| | | | | | | | | | qabstractanimation_p.h is pulled in from qmltc generated code, that users may decide to build with `QT_NO_KEYWORDS` Change-Id: I6ce1e82b3c68f6b7e1e349b40945a6f398d8baf5 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 1269f33d3be4cf50957fb98cfc9840893cb5d8de) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QString: change test data to compile with QT_NO_CAST_FROM_ASCII [10/13]Ahmad Samir2023-05-112-147/+172
| | | | | | | | | | | | Drive-by changes: - Cleanup creating a QChar[], by creating a char16_t[] and reinterpret_cast'ing it - Use human-readable Unicode characters where possible Change-Id: Ice2c36ff3ea4b6a5562cf907a7809166a51abd28 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 9d05fd9fa20229948da751da981f0a1b2f97fd54)
* Android: fix problem with release package for cmake based buildsBartlomiej Moskal2023-05-112-0/+22
| | | | | | | | | | | | | | | | After 9efaf8bae914958a09d29a4cdbf62e345f3e6369 commit there is no possibility to create release package for cmake based builds. Added a new cmake variable (QT_ANDROID_DEPLOY_RELEASE) to allow turning on release build manually. Task-number: QTBUG-112921 Task-number: QTBUG-108132 Task-number: COIN-882 Change-Id: Idf015b4ad3f8cba792aab75a01e1c81225cad4f0 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 64db65ae907b2d987c01768438dcae9643ceac96) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QStyleSheetStyle: avoid #define ceil()Marc Mutz2023-05-111-4/+1
| | | | | | | | | | | | | | There's only one user of this function-like macro and already broke unity-build, so make it a lambda instead and scope it close. Remove the previous work-around (#undef at end of TU). Change-Id: I0bd7cd41b89a6f32144d2040ff2b4a18d0045d21 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit e3442c05bd63b70282e293fbd16c62acc28c4dd3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: Replace [QNSView drawRect:] assert with warningTor Arne Vestbø2023-05-111-2/+4
| | | | | | | | | | | | | AppKit will in some cases call this method, even if we are layer backed, just because we implement it. We should remove the implementation, but doing so requires us to also move from displayLayer to updateLayer for the layer backed drawing, which requires more testing. Fixes: QTBUG-113500 Change-Id: I70bde34fdb433105d85ccea0514a5342e2c1e725 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 1ea0625ca8762787097d33a4acaf3830d7ee104c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* iOS: Don't add Qt libraries to PRE_TARGETDEPS of xcodebuild MakefileTor Arne Vestbø2023-05-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Support for PRE_TARGETDEPS was added for iOS applications in 53ac8094b13d52b7da8b029cf4716827241283c3, even if the Xcode generator doesn't support PRE_TARGETDEPS, by taking advantage of the glue Makefile we use to run xcodebuild. And we add our own Qt libraries to PRE_TARGETDEPS in qt.prf, as you would expect. But since Xcode supports both debug and release, we always set debug_and_release for this glue Makefile. The result is that when computing the Qt library PRE_TARGETDEPS, we fail to apply a _debug suffix from qtPlatformTargetSuffix(), since we've enabled debug_and_release. In a debug only build, this means that 'make' of the glue Makefile will fail to find the release versions of our Qt libraries. To work around this we skip adding Qt to the target deps when generating the xcodebuild Makefile, as we know these libraries are added to the target in the Xcode project. Change-Id: Icafc103e34a6f83240fa8187181d885fb0172a86 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 311f8157ae1aa77a0fb0154e8207678a0d919703) Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Android: fix QDir::entryInfoList() with content URIsAssam Boudjelthia2023-05-111-4/+4
| | | | | | | | | | | | | Correctly return only the fileName portion from AndroidContentFileEngineIterator::currentFileName(); which QDirIteratorPrivate::matchesFilters() expects when looking for matches of the file pattern provided to the QDirIterator. Fixes: QTBUG-112738 Change-Id: I98dba2df014b27f33cd7e54fab3ad2de8c7c1750 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> (cherry picked from commit f1778f34e0848bdcbe471c91f6ee7f9146e2d9f8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>