summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use qint64 for value of that type in tst_QDateTime millisecond testsEdward Welbourne2020-09-151-71/+91
| | | | | | | | | | | | The test was previously using int; I shall be wanting to add tests that exercise the bounds of qint64. Clean up the layout of the test-row additions in the process of making a trivial change to them all. Also const the QFETCH() types so we catch any use of non-const methods on the values fetched. Change-Id: I4b0187de71f5f14b39b4eabe8afd12a196f73d23 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove dead codeVolker Hilsheimer2020-09-151-16/+0
| | | | | | | And remove another ### Qt comment, this time ### Qt 5. Change-Id: I1d5cef47ddd81b6a27f870599128c8f16846c350 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Fix conversion warnings when setting alpha to QColorFriedemann Kleint2020-09-154-4/+4
| | | | | | | Adapt to 5bb4baae0379d5903f547f0399be9620f5ab06a0. Change-Id: Id65f87740f9de8e0d3624ff63c431dcad642f3a5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix tst_QElapsedTimer::elapsed() flaky testJarek Kobus2020-09-151-11/+23
| | | | | | | | | | | | | | | Instead of using imprecise QTest::qSleep() to estimate the elapsed time, we trigger a single shot PreciseTimer and gather all the data in lambda. We wait for lambda to be executed - we give it twice as much time as is in theory needed. Afterwards we verify all the data collected in lambda. Task-number: QTBUG-82903 Change-Id: I0147b7cd2aaf4bf58a216caff167d2db8712541a Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: Fix building with -DQT_FEATURE_gui=OFFAlex Richardson2020-09-1528-40/+178
| | | | | | | | | | Some CMake files currently assume that QtGui is always enabled and we get a configure-time failure without these changes. Task-number: QTBUG-86053 Change-Id: I28e32c180c32221f32519017bac6b518a19d5983 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: Check that QT_HOST_PATH is set when using the Qt toolchainAlexandru Croitor2020-09-152-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a consumer wants to cross-compile a Qt app, they need to provide the host Qt path location. When building Qt in the CI we embed the Qt host path into the generated CMake toolchain file for convenient building of other Qt modules. But once Qt is built, packaged and installed on a user's machine, most likely the Qt host path will not be the same. In such a case, if the user wants to use the convenience toolchain, they should explicitly provide the Qt host path via the QT_HOST_PATH and QT_HOST_PATH_CMAKE_DIR variables. Show an error message if the values are not provided or don't exist on the file system. It's possible that in the future the Qt installer will patch the toolchain file, or provide additional info, to point to the host Qt installation so that the user doesn't have to do it manually. But until that's done, a friendly error message is a good way to inform the user what they should do. Task-number: QTBUG-83999 Change-Id: I26291e3c47bb77375f8a5ce7b848c0382a660ca9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: Conditionally set compiler in generated toolchain fileAlexandru Croitor2020-09-151-2/+9
| | | | | | | | | | | | | | | | | | | Public consumers of the qt toolchain file will most likely not have their compilers in the same location where they were on the Qt build machine. Only set the compiler paths if none was set already, and the paths actually exist. This seems to become a trend in the generated toolchain file, and is only a stop-gap solution. A proper solution (two different toolchain files) may follow. Task-number: QTBUG-83999 Change-Id: I7a603af447333a45c65b98e299ee109932d16517 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Regenerate configure.cmake filesAlexandru Croitor2020-09-154-10/+4
| | | | | | Change-Id: I844e82b4655cf1967b16a7785b4e1ef777e61c22 Reviewed-by: Simon Hausmann <hausmann@gmail.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Windows: Fix linker warning about missing WinMain.pdbKai Koehne2020-09-151-0/+6
| | | | | | | | | | | | | Do follow the example of winmain.pro and replace /Zi with /Z7. Manipulating CMAKE_CXX_FLAGS_DEBUG is not particularly elegant, but CMake seems not to offer a more modern way yet: https://gitlab.kitware.com/cmake/cmake/-/issues/19084 Fixes: QTBUG-86423 Change-Id: I280d06ad52b79d4be04052ab4e0d2113ef08414c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix incorrect host path used in generated toolchain fileAlexandru Croitor2020-09-151-4/+6
| | | | | | | | | | | | | | | | | | | | | A previous change accidentally broke what we we set for QT_HOST_PATH and QT_HOST_PATH_CMAKE_DIR. The QT_HOST_PATH variable should use an absolute path as it was done before. The QT_HOST_PATH_CMAKE_DIR variable incorrectly used the value of "${QT_HOST_PATH}" instead of "${QT_HOST_PATH_CMAKE_DIR}". Fix both of these, and change the names of intermediate variables to be consistent. Amends a6a3b82ffb3d7f1ea13293206401ed360a51e9cd Task-number: QTBUG-85240 Change-Id: I328a7edee12a13ff793684e8a0a4c2e03204eca4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix tests to build in a no-widgets configurationAlexandru Croitor2020-09-152-5/+8
| | | | | | | | | | | | The qfilesystemmodel.pro was recently moved to the gui tests subfolder, but it uses widgets inside. Skip it in a no-widgets build. Amends fb9ec8ad44decba7b2878370f3711b61614f035a Task-number: QTBUG-86187 Change-Id: I955556ffddad483d4c25602ae126b8c2433091b2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Add a QMetaAssociationUlf Hermann2020-09-155-330/+1284
| | | | | | | | | | This requires refactoring of QMetaSequence, as they share a lot of common functionality. QMetaAssociation provides a low level interface to an associative container. Task-number: QTBUG-81716 Change-Id: I273e00abd82f1549ba8803c323d82aa3a2d12ded Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QIcc: fix alignment concerns in ICC profile parsingAndrei Golubev2020-09-152-86/+103
| | | | | | | | | | | Updated QIcc::fromIccProfile() and friends to not rely on QByteArray pointer alignment. Used qFromUnaligned() instead Task-number: QTBUG-84267 Pick-to: 5.15 Change-Id: I69ef7e011707bec27cd84693e7f0e92d79a577d1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update QString documentation relevant to prepend optimizationAndrei Golubev2020-09-151-0/+27
| | | | | | | | | [ChangeLog][QtCore][QString] QString is a prepend optimized container similar to QList. Task-number: QTBUG-84320 Change-Id: Id035aac859a6f404e389f2eeaf20f9eee5bff20c Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QStyleSheetStyle: Fix push button hit testing with paddingVolker Hilsheimer2020-09-152-4/+13
| | | | | | | | | | | | | Amends f9940b15f7f0fde731431626172939b9821fd660, which amended 6e1d70ae12baae4610356ec7b69635ad75a97b4e. The bevel of the button is not defined by the contentsRect, but by the borderRect that the stylesheet style calculates. Change-Id: I9a0d5bf29a06ce2270014f0d144e33cc3a1a7473 Pick-to: 5.15 Fixes: QTBUG-86587 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Only include <bit> if using post C++17Allan Sandfeld Jensen2020-09-153-3/+3
| | | | | | | Otherwise we hit an #error statement in MSVC standard library. Change-Id: Ib029edf0be8513a80f2640fd9ca75541615a0448 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Tests: fix json test for AndroidAssam Boudjelthia2020-09-152-3/+2
| | | | | | | | | test.bjon file doesn't exist, however, it's still included in json.qrc. That causes the test to fail on Android because it's using that resource file. Change-Id: I1e93076069073a1a621459a7d90aec5c0c03f768 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Tests: fix qlogging build fail for AndroidAssam Boudjelthia2020-09-151-7/+6
| | | | | | | | | The macro BACKTRACE_HELPER_NAME is defined inside a block with #ifdef __GLIBC__ which is not defined on Android, thus causing the test to fail on Android. Change-Id: I55e9b3e3bae2da182481239ad88107c36e3bd438 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QObjectBindableProperty: Fix QDoc-specific typo in headerTopi Reinio2020-09-151-1/+1
| | | | | | | This prevented QDoc from parsing the properties correctly. Change-Id: Ib3e02eb29a5c35034c30a3dd9fdf797d4c7e1550 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Blacklist tst_QTimeLine::interpolation on Windows in generalMitch Curtis2020-09-151-1/+1
| | | | | | Task-number: QTBUG-61037 Change-Id: Ie44c7355e2aefbbd16cef95f1a093302bd789e45 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Windows QPA: Fix build with mingw64/Win32 threadingFriedemann Kleint2020-09-151-7/+25
| | | | | | | | | | | | | For this build, cxx11_future is not available and thus QThread::create() as introduced by ed114b728d9dc5265333c593254d9f6527464a60 does not work. Revert back to implementing a QThread. Pick-to: 5.15 Fixes: QTBUG-86575 Task-number: QTBUG-85676 Change-Id: I86a91f6bcdfc88804b35bf617362d92f37e51dea Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Use UTF-8 when converting 8 bit data in QTextStreamLars Knoll2020-09-154-16/+29
| | | | | | | | | This was overlooked when doing the conversion to use UTF-8 as the standard 8 bit encoding for text. Fixes: QTBUG-54942 Change-Id: Ib7b1b75b4d694648ab7143f6930b6bb1dcad19c9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove deprecated APILars Knoll2020-09-153-12/+4
| | | | | | | And replace it's few remaining usages Change-Id: I2dfbbaa5259acfece028606bef1e872c5692f9fe Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Remove the SAX parser from QtXmlLars Knoll2020-09-15803-15583/+3
| | | | | | | | It has been deprecated and will live in qt5compat from now on. Fixes: QTBUG-86480 Change-Id: I3744c7cee058d51d0fce633a174ab1a0f9235d2c Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Trim trailing 0s from QTime construction, where neither use nor ornamentEdward Welbourne2020-09-151-153/+153
| | | | | | | | The seconds and milliseconds default to 0; so omit them when they're zero, unless there's nearby code that contrasts nicely with them. Change-Id: Iea049015e976f5a5209fe87a2cbfdae9de49a559 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QLayout: Make contentsMargins a Q_PROPERTYFriedemann Kleint2020-09-151-0/+1
| | | | | | | | | | It replaces the deprecated int margins property, which was a Q_PROPERTY. This enables Qt for Python users to use property syntax for it. Task-number: PYSIDE-1019 Change-Id: I958d2ef7f8e2afcc2be490e29d4b11c070569fbd Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add qHash implementation for QPointMitch Curtis2020-09-155-18/+18
| | | | | | | | | [ChangeLog][QtCore][QPoint] Added qHash() implementation. Change-Id: I65332e7aafab53af40a6e11457b9b457196d584c Fixes: QTBUG-86457 Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Switch QSurfaceFormat::colorSpace to a QColorSpaceAllan Sandfeld Jensen2020-09-157-21/+57
| | | | | | | Allows more flexibility in the future. Change-Id: Idcf2d8ddaee268a7b5d55379ccb42dd9b3c33abf Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Get rid of Qt4 virtual hooksAllan Sandfeld Jensen2020-09-152-73/+5
| | | | | | | | They have existed throughout Qt5, and no longer used by any QIconEngine I am aware of. Change-Id: Iab0a978be808a60fb82379467e294e2457056bae Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Fix -Wunguarded-availability-new for userInterfaceStyleAndré Klitzing2020-09-141-4/+6
| | | | | | | | | 'userInterfaceStyle' is only available on iOS 12.0 or newer [-Werror,-Wunguarded-availability-new] if (previousTraitCollection.userInterfaceStyle != self.traitCollection.userInterfaceStyle) { Pick-to: 5.15 Change-Id: Id6340f70019d55ab2a0707b1aebd6d333e9544cb Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Add missing #includes for FreeBSD buildAdriaan de Groot2020-09-142-0/+2
| | | | | | | | | | | QFile is no longer included implicitly via other headers, so include it explicitly in the FreeBSD framebuffer code. This is needed to make it compile (at all, although there are also API changes to chase and general bitrot). Change-Id: I3801a39503f545a24a3b2c58122774b5697358e9 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* rhi: gl: Eliminate duplicate glUniform callsLaszlo Agocs2020-09-142-9/+25
| | | | | | | | | | | | | | | | This can happen when there is a uniform block in the Vulkan shader with an instance name, both in the vertex and fragment shader. The members are mapped to members of a struct uniform in GLSL since we do not use uniform buffers there. Now if there is, for example, "ubuf.opacity" both in the vertex and fragment shader reflection info, then it's still just one single uniform in the GL program, using one location. Registering it twice in our 'uniforms' list is harmless, but wasteful, since it means the uniform value will be set twice upon each setShaderResources(). Change-Id: Ib646eaec333522560d631b3b81800ef610f09319 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* QRhi: support matrix array types of the uniform in GLES2 backendInho Lee2020-09-141-10/+19
| | | | | | Task-number: QTBUG-83173 Change-Id: Ieda8948820a9470e3b0bc420ec7b1af09395d568 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove QPointerEvent::isPointAccepted() and setPointAccepted()Shawn Rutledge2020-09-141-2/+0
| | | | | | | | They are redundant, not in use, and got added without implementation in a81859a3c8d0f8b4367fc63988e1d653d34ed48a. Change-Id: Ifed1fbf97a8158c2801df09dac47bf1fc90795d4 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Schannel: Properly handle request for certificateMårten Nordheim2020-09-142-51/+58
| | | | | | | | | | | | | | Certain servers, like smtp.live.com, will send a request for a certificate even though they don't require one. In Schannel this manifests as a warning/info status (SEC_I_INCOMPLETE_CREDENTIALS). In the cases where it's not needed we should suppress the warning and try to connect anyway, which is done by calling InitializeSecurityContext again when we get the status. Pick-to: 5.15 Change-Id: I3c48140f2949d8557251a49a2b66946da9395736 Reviewed-by: Joshua GPBeta <studiocghibli@gmail.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Revert "Revert "CMake: Add facility to mark package dependencies as optional""Joerg Bornemann2020-09-145-17/+44
| | | | | | | | | This reverts commit b0c51f86f40b6b6d18fe2bb75cc851d36395240d. The build failure caused by 58c1c6ee5c986d502b56eb1cc57f1d9444d42031 has been fixed. Change-Id: Ic7458d54c7a874588e8b1bfeca61df1842763656 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Revert "Revert "CMake: Reduce the number of find_dependency calls""Joerg Bornemann2020-09-143-14/+11
| | | | | | | | | This reverts commit 6e1a570dc8560489d10120cbd019a665f33f49c2. The build failure caused by 58c1c6ee5c986d502b56eb1cc57f1d9444d42031 has been fixed. Change-Id: I67acaa2d1dd5fc88c205b054252be2e6e26898c7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Remove outdated informationPaul Wicking2020-09-141-5/+0
| | | | | | | | | Seems this information is obsolete, get rid of it. Fixes: QTBUG-86607 Pick-to: 5.15 Change-Id: I0250e32b3c312c7da0363dd1b0d7f676bbfa0115 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Revert "Revert "CMake: Make the Vulkan dependency of QtGui optional""Joerg Bornemann2020-09-141-1/+1
| | | | | | | | | | This reverts commit f0873a1c62cb880b2586ebda0f40e69c930c1cec. The build failure caused by 58c1c6ee5c986d502b56eb1cc57f1d9444d42031 has been fixed. Change-Id: I5cec78b353089ca024e905795bc99cad423c2d4e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Revert "Revert "CMake: Fix usage of find_dependency()""Joerg Bornemann2020-09-146-60/+48
| | | | | | | | ...and fix the build errors the original change caused. This reverts commit 127fb8bb5587db52216d0ac934f3111170a7cbe3. Change-Id: I4006b32734a51c5d101dd73c957f81d2a0f84ba1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add QVariantRef, QVariantPointer, QVariantConstPointerUlf Hermann2020-09-142-0/+158
| | | | | Change-Id: Ia329265826ab2f76e77ac14bb8d8e415a1b41dd6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Windows: Fix clang error about copy on loopKai Koehne2020-09-141-1/+1
| | | | | | | | | | | clang on Windows shows an error: qtbase/src/gui/text/windows/qwindowsfontdatabase_ft.cpp:122:25: error: loop variable 'key' of type 'const QString' creates a copy from type 'const QString' [-Werror,-Wrange-loop-construct] for (const auto key : keys) { ^ Change-Id: Icdfa5e2a6753450213dcb96df70247c5a71c2293 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Plumb application quit through platform pluginTor Arne Vestbø2020-09-1411-7/+45
| | | | | | | | | | | | | | | | | | If we have a platform plugin we ask the platform to quit, and if not we fall back to the base implementation of QCoreApplication that sends Quit events directly. This allows the platform to involve the rest of the system in the process. The platform will then come back with a spontaneous quit via QWSI::handleApplicationTermination(), which will then send the corresponding Quit even from QGuiApplication like normal. Task-number: QTBUG-45262 Task-number: QTBUG-33235 Task-number: QTBUG-72013 Task-number: QTBUG-59782 Change-Id: I0000aaf7192e4b905933c5da0e53901c6c88f26a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix vulkan example build with MSVCLaszlo Agocs2020-09-141-1/+1
| | | | | | | | Undeclared identifier ssize_t etc. Just use int. Not like we can have more than a handful of physical devices anyway. Change-Id: Ie1fb7ab9794a7d39e84db864c2be6dbdd5d97f50 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* QUuid: merge toString() overloads and toByteArray() overloadsEdward Welbourne2020-09-142-94/+4
| | | | | | | | | | In each case, simply give WithBraces as default for mode, since that's what _q_uuidToHex() used internally. Task-number: QTBUG-85700 Change-Id: I9f6fddb259703917129d4be742bbdd2eb1647f44 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Purge Q_{STDLIB,COMPILER}_UNICODE_STRINGSEdward Welbourne2020-09-1414-70/+8
| | | | | | | | | These were now always defined, hence redundant. Leave the #define in place so that we can verify we actually do always define it, in a #else of an existing #if check on it. Change-Id: Iea4c3dbc8f9982268bcf81da5ef17fe2ebf5c462 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Clean up the last of QT6_(NOT_)?VIRTUALEdward Welbourne2020-09-144-9/+5
| | | | | | | | | This follows up on commit d273076b4474bb473d90e996960c4c773745761a which left a comment asking for the clean-up this finishes. Task-number: QTBUG-85700 Change-Id: I1c6896a42a09b873302ad7ec8273879f2a4a4ce6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Make QTRY_IMPL() exit its loop if the test failsEdward Welbourne2020-09-141-3/+3
| | | | | | | | | | | | | | | | | | Some tests, particularly the asynchronous ones that depend on the QTRY_*() macros, have call-backs in which a test can fail, but the macro used to test for failure only returns from the call-back, so the test doesn't know to fail. Make sure the QTRY_*() macro gives up if that happens, so that the test function at least gets control back and can notice that it's failed. Even if they don't check, they'll fail sooner, where they might otherwise have been stuck in a loop that would never exit until the watchdog timer shoots the test down (and Coin ends up with a debugger back-trace and no output from later tests). Change-Id: I622a53117de5e97d23dd22e04e5cd20361a54651 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Don't use default-constructed QTime() where QTime(0, 0) is intendedEdward Welbourne2020-09-141-35/+43
| | | | | | | | | | QTime() is invalid. Only the seconds and milliseconds are optional, for valid times. Use startOfDay() for zoned times, QTime(0, 0) for fixed-offset ones. Change-Id: I3b65d5c3733ac83dc3a6c214859c3f56a480bb94 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QString: use QCommonArrayOps::erase instead of custom logicAndrei Golubev2020-09-141-4/+2
| | | | | | | | | | With 6e8985e3576a4439bd66c0767f9912d1e124682c merged we can now use generic erase logic provided by array operations. This commit aligns QString with QList/QByteArray Task-number: QTBUG-84320 Change-Id: I83e9349e2461afd98737df25613aa2d0fd817a71 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>