summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* QtCore: replace QLatin1String/QLatin1Char with _L1/u'' where applicableSona Kurazyan2022-03-25109-1184/+1351
| | | | | | | | | | | As a drive-by, did also minor refactorings/improvements. Task-number: QTBUG-98434 Change-Id: I81964176ae2f07ea63674c96f47f9c6aa046854f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
* Android: Keep the ParcelFileDescriptor open for content urisJarkko Koivikko2022-03-252-5/+26
| | | | | | | | | | | | | | Detaching fd and closing the ParcelFileDescriptor prevents IO with the services like Google Drive on Android. Instead, the file system should keep the ParcelFileDescriptor open while the IO operations take place and close it manually. Also, prevent Qt from closing the handle for us. Pick-to: 6.2 6.3 Fixes: QTBUG-101996 Change-Id: Ie54c04ad5aa1e7ee5444a04c30ac1323f73047bb Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Enable QIcuTimeZonePrivate's support for transitionsEdward Welbourne2022-03-251-15/+10
| | | | | | | | | | | | | | The support was previously limited to ICU version 50, with an == check rather than a >= one, accompanied by a TODO comment to check whether the API was stable at 51. Nine years have passed since ICU 51 was released, we're now up to release 70, and now I've finally verified that the API is stable (and fixed a few bugs in how we use it). So change the check so that we now do use the transition API. Fixes: QTBUG-99747 Pick-to: 6.3 6.2 Change-Id: Ica024b6c28a213e0de0a37f196839e8ded193889 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix QIcuTimeZonePrivate::data() before the first transitionEdward Welbourne2022-03-251-6/+8
| | | | | | | | | | Provide valid data, since ICU can, by the means we used before the transition API was introduced. Task-number: QTBUG-99747 Pick-to: 6.3 6.2 Change-Id: I4d4a1201db2255b98901dacb83169ae4ae25ef05 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix QIcuTimeZonePrivate::hasDaylightTime() to catch historical DSTEdward Welbourne2022-03-251-2/+11
| | | | | | | | | | | | | QTimeZone::hasDaylightTime() is documented to return true if a zone has ever dabbled in DST, but the ICU implementation was only detecting whether the zone currently engages in it. When the transitions API is available (currently for version == 50; will soon change to >= 50), use it to find out whether DST was ever in effect. Task-number: QTBUG-99747 Pick-to: 6.3 6.2 Change-Id: I4576de2e074dc57b54450b1e40a23358ccf0ef49 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix ICU's handling of last representable transitionEdward Welbourne2022-03-251-1/+9
| | | | | | | | | | | | | | | ICU's search for next transition, when the result would lie later than is representable by qint64, returns the last transition before the bound, even if this is at the time it was meant to exclude from the range searched. This lead to infinite looping when we tried to traverse transitions forward. Recognize when this happens and return the invalid data object that indicates falling off the end of time instead. Task-number: QTBUG-99747 Pick-to: 6.3 6.2 Change-Id: I1a210fb7a4086b2fdb052b2260c800bfc29f965a Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Include zone name on tst_QTimeZone::isTimeZoneIdAvailable() failureEdward Welbourne2022-03-251-1/+1
| | | | | | | | | The zone name was reported if isValid() failed, but not if isTimeZoneIdAvailable(), where it also proved useful in uncovering ICU's use of over-long zone name components. Change-Id: I4b3b65b1a4a338b638c01fc7ad47294118ee0efc Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Apply the East-Saskatchewan exception to zone-fragment lengths to ICUEdward Welbourne2022-03-252-7/+11
| | | | | | | | | | | | The exception was previously limited to Android, but I now find that ICU has the same over-long names; it seems likely that's where Android gets them. Also update the link to the theory page from the TZ DB, as it now has an official home on www.iana.org. Task-number: QTBUG-99747 Pick-to: 6.3 6.2 Change-Id: I9af67426d15609dfaf5f335405ceb1218fcf40ff Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Avoid overflow in some more qdatetime.cpp functionsEdward Welbourne2022-03-251-28/+36
| | | | | | | | | | | | | | | | | One multiplied TIME_T_MAX * MSECS_PER_SEC despite knowing this to be too close for comfort to the bounds of qint64; but the comment indicated it should have been using a 32-bit signed max in place of TIME_T_MAX. Two others simply neglected to check for overflow. Also use QRoundingDown::qMod() in one place to avoid needlessly complicating arithmetic; and assert, in another, that we were never in danger of overflowing anyway (thanks to an earlier isValid() check). Restructured QDateTimePrivate::zoneMSecsToEpochMSecs() in the process of catching its potential overflow. Change-Id: I429321d90246ba922cccf09a4f028f03a514cb6b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix char/uchar comparison warning in toPercentEncodingEdward Welbourne2022-03-251-1/+1
| | | | | | | This amends commit 5291dc7dcfa489354d3f880468902debf755d9cd Change-Id: Icdd9562f74a4de0323ba8fef558958af41eeb5a1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Notify about focus object changes upon widget destructionVolker Hilsheimer2022-03-253-2/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | If the active QWidget gets destroyed, then QWidgetWindow::focusObject will return nullptr. If then no other object takes focus, then we'd never emit change signals, and QGuiApplication's _q_updateFocusObject (which then informs the input context and emits signals) didn't get called. This left the input context with a dangling focus object pointer, which resulted in crashes. If the QWidget clears its focus, but the corresponding window doesn't know that it had focus, then fall back to the widget's focus widget to see if we have a change in focus, so that signals get emitted. Add a test case that shows that we didn't call _q_updateFocusObject by counting emissions of the QGuiApplication::focusObjectChanged signal, which we emit in this function. The signal is emitted more than once both when showing a widget, and now also when destroying a widget that has a focus child. The former is a previous issue, the latter is an improvement to not emitting the signal at all. Pick-to: 6.3 6.2 Fixes: QTBUG-101423 Fixes: QTBUG-101321 Change-Id: Ib96a397211d442f52ce795a3eebd055a0ef51b0d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Pass ANDROID_SDK_ROOT and ANDROID_NDK_ROOT variables to external projectsAlexey Edelev2022-03-251-0/+8
| | | | | | | | | | | | | The path to an Android toolchain is set to the one is used on CI by default. To rewrite it user need to set ANDROID_SDK_ROOT and ANDROID_NDK_ROOT variables. But these variables are not propagated to the per-ABI external project, so they cannot locate the Android toolchain file correctly. Fixes: QTBUG-102041 Pick-to: 6.3.0 6.3 Change-Id: Ic30a3298518af93718f5422402edd5e0715ea135 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Add \relates command for documented global functions/macrosTopi Reinio2022-03-255-3/+9
| | | | | | | | | | | | | Global functions need an associated header file/class/namespace to make the documentation visible. Remove QDoc comment tag (/*!) for an internal function. Pick-to: 6.3 Task-number: QTBUG-99578 Change-Id: Id390d433d7e081fc90fa57a02097b6c37fa13bee Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* CMake: Fix typo in configuration summary messageAlexandru Croitor2022-03-251-1/+1
| | | | | | | | Amends 384dfceb532cada5f4be96430c8c7c866f40c933 Pick-to: 6.2 6.3 Change-Id: Ica36551b64899848ab40e507ddf002af55b7db8c Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Disable SAFE_HEAP_LOG for wasmDavid Skoland2022-03-251-1/+0
| | | | | | | | | | This option completely ruins the output when running test, as it logs every single safe heap operation. I don't think this detailed logging is necessary or reasonable in a normal debug build. Pick-to: 6.3 Change-Id: I4bb740299d631d21453f9b4a8959634801fb3a1e Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Remove mention of Q_GLOBAL_STATIC being more thread safe than local staticsTor Arne Vestbø2022-03-251-4/+0
| | | | | | | | | As of C++11 local statics are guaranteed to be thread safe, so this advantage doesn't hold anymore. Pick-to: 6.2 6.3 Change-Id: I9ac34b8af30e44ff8134e5f81f45c8aa0f8ddcc9 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Avoid fetching destination when not usedAllan Sandfeld Jensen2022-03-251-21/+82
| | | | | | | | Previously this optimization would only trigger if all spans were opaque, with this change it can also trigger with singular spans. Change-Id: I79f362072ece7b6082463d32fc91000d5ff319b5 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* coin: Apply WarningsAreErrors feature to target configurationsToni Saario2022-03-251-0/+3
| | | | | | | | Makes WarningsAreErrors feature meaningful on cross-compilations. Change-Id: I777e44a64757d1fcd5f8a49eae0e5322b92ac53b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* iOS A11Y: Set more accessibilityTraitsMike Achtelik2022-03-251-0/+11
| | | | | | | | | | Set traits for roles that have a direct mapping between QAccessible::Role and UIAccessibilityTraits. This allows the screen reader to pick up on them and give additional info e.g. for links. Pick-to: 6.3 6.2 5.15 Change-Id: I0f85e525fef390dcdf1ea664a0d325ce54f5b25b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Unset testrunner for bic testsToni Saario2022-03-251-0/+4
| | | | | | | Task-number: QTBUG-100698 Pick-to: 6.2 6.3 Change-Id: I2d0c6947c8bab29dc6af0a5d505da5a6439b8c36 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Always cancel unfinished QPromises on destructionSona Kurazyan2022-03-252-8/+16
| | | | | | | | | | | | | | | | | | If the QPromise is being destroyed, we should signal the associated futures to stop waiting. No matter in which state the promise is, if it's not finished, we should always cancel to avoid infinite waits. This is also what docs state: "The promise implicitly transitions to a canceled state on destruction unless finish() is called beforehand by the user." Fixes: QTBUG-101284 Pick-to: 6.3 6.2 Change-Id: I65ebfefe03b79b41afacda78a4f49938c54d8b37 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* cmake: skip unity build inclusion of generated resourcesTim Blechmann2022-03-251-2/+5
| | | | | | | | | | | generated resource files contain static variables like `qt_resource_data`. if multiple resources are included in unity builds, we end up with name clashes, so we should exclude them Change-Id: I8cbe73a9e3ce3808a142b7cb6315355a7d4161db Pick-to: 6.2 6.3 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QVariant: disable building from arbitrary pointersGiuseppe D'Angelo2022-03-251-0/+8
| | | | | | | | | | | | | | | | | The QVariant(bool) is an extremely dangerous catch-all for all sorts of things that may convert to bool, including arbitrary pointers. Delete the corresponding constructor, in order to force users to use the (correct) construction using fromValue, and/or to prevent bugs altogether. This is technically speaking a SiC, but one of type A -- if pointer to bool was intented, just do the conversion explicitly. [ChangeLog][QtCore][QVariant] QVariant used to be constructible by raw pointers through a conversion towards bool. This is now illegal. If such a conversion is needed, users are advised to insert manual casts to bool. Change-Id: I1b1f81962259514e57d841246740e0f7050104e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Improve style drawing under DPR scalingEirik Aavitsland2022-03-251-2/+30
| | | | | | | | | | | | | Line painting code originally designed for unscaled, aliased, pre-Qt4 drawing generally behaves better with a half pixel offset applied. This fixes a heap of glitches when this code is run with a device pixel ratio > 1. Fixes: QTBUG-88934 Task-number: QTBUG-96223 Pick-to: 6.3 Change-Id: I617b0ecc0be2593b34bf78349043f72b9ea4b20c Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* CMake: Generate and use a wrapper script for stripping binariesAlexandru Croitor2022-03-247-0/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MinGW 11.2.0 comes with a strip.exe that strips the ".gnu_debuglink" section in binaries, a section that is needed for the separate debug information feature. binutils version 2.34 mentions the feature for the first time: https://sourceware.org/binutils/docs-2.34/binutils/strip.html#strip To ensure the debuglink section is preserved, generate a shell wrapper that calls the original strip binary with an extra option to keep the required section. To determine if the option is supported, we build a real shared library on which strip will be called with the --keep-section option. If the option is not supported, a wrapper is not generated and the stock strip binary is used. This logic only applies when targeting Linux and MinGW + a shared library Qt. For other targets, the stock strip binary is used. Developers can opt out of this logic by passing -DQT_NO_STRIP_WRAPPER=TRUE when configuring each Qt repo. Pick-to: 6.2 6.3 Fixes: QTBUG-101653 Change-Id: Idd213d48d087d3c9600c853362aebaba348cde33 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Enable verbose autogen for cmake auto tests and EP examplesAlexandru Croitor2022-03-242-0/+2
| | | | | | | | | | | | | | So we can see the exact moc invocations when debugging issues in the CI. For ExternalProject examples, it is conditional on whether Qt is configured with QT_INTERNAL_VERBOSE_EXAMPLES set to ON, otherwise calling the main ninja without -v will end up cluttering the output with AUTOGEN output. Pick-to: 6.2 6.3 Change-Id: I6468ab0e461b3be283e2428e3515cae4d5986242 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Enable debug verbosity for cmake auto tests and EP examplesAlexandru Croitor2022-03-242-0/+5
| | | | | | | | | | | | | | | | | | | | Since e2a0ddbb69640c94b4ee107260a088d5c1c7e273 , if Qt is configured as a non-developer-build, some of the CMake tests that include QtSetup would have their CMAKE_MESSAGE_LOG_LEVEL set to the reduced NOTICE value. Make sure that tests always have a DEBUG level, so that if they fail in the CI, we have more info on what goes wrong. For ExternalProject examples, it is conditional on whether Qt is configured with QT_INTERNAL_VERBOSE_EXAMPLES set to ON, otherwise calling the main ninja without -v will end up cluttering the output a non default log level. Amends e2a0ddbb69640c94b4ee107260a088d5c1c7e273 Pick-to: 6.2 6.3 Change-Id: Icd3b6e0fcc6c73e4b53b6c4a6d8354c96077a050 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CI: Add docker support for tst_qiodevice testPasi Petäjäjärvi2022-03-242-3/+14
| | | | | | | | | | | Currently test relies solely for external test server. This makes it not possible to run test successfully with environment where docker is used. Pick-to: 6.2 6.3 Change-Id: Idf7e99c19ab630065b651f2f6d957311f45f0db7 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* CI: Add docker support for tst_qtextstream testPasi Petäjäjärvi2022-03-242-1/+7
| | | | | | | | | | | Currently test relies solely for external test server. This makes it not possible to run test successfully with environment where docker is used. Pick-to: 6.2 6.3 Change-Id: If716921ce6ceea1ced2d0d7025c6e9768b4ed7a7 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* rhi: d3d11/vulkan: Allow passing in an array range overrideLaszlo Agocs2022-03-247-7/+68
| | | | | | | | | | | | | | | | | | Only (straightforwardly) implementable with modern APIs, and only really exists to handle special platform cases, such as when a video framework gives us a D3D texture array with D3D11_BIND_DECODER | D3D11_BIND_SHADER_RESOURCE which is only possible to use as a shader resource if the SRV selects a single array layer. Has no effect on the normal usage of texture arrays, where all array layers are exposed, and it is the shader that selects the layer when sampling or loading via the sampler2DArray. That continues to be the standard way to work with texture arrays. Change-Id: I0a656b605da21f50239b38abb83067e0208c1dbe Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Fix compiler warnings in testsVolker Hilsheimer2022-03-242-2/+2
| | | | | | | | Don't mix unsigned and signed types in comparisons. Pick-to: 6.3 Change-Id: Ia4ba9c114177425a21cadc8cafe8179928315a5d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Conan: Fix used function name for parsing 3rd party sw dependenciesIikka Eklund2022-03-241-1/+1
| | | | | | | | | This got broken in: 58c6f37ed06c9cbc4de2ce8c87a9608bd628c64d Fix it to use the correct function from qt-conan-common. Pick-to: 6.3 6.3.0 6.2 Change-Id: Ia381672d17ce5bd33e0a9aded3b7125ebb0bcb6e Reviewed-by: Toni Saario <toni.saario@qt.io>
* QStandardItemModel: use the right datatype for text alignmentGiuseppe D'Angelo2022-03-241-2/+2
| | | | | | | | Now that views can deal with Qt::Alignment returned by a model, use the right type. Change-Id: Ib6de5f7acbc76e9529451ddb494e808a41c59021 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QAbstractItemModelTester: use the right types for some rolesGiuseppe D'Angelo2022-03-241-2/+3
| | | | | | | | | | | | Models are expected to return Qt::Alignment and Qt::CheckState when asked for the text alignment / check state roles, respectively. However, for legacy reasons, models may return `int` for either possibility. Extend the tester to cover this. Task-number: QTBUG-75172 Change-Id: I64bfc898466e8bb4d4a8a35726986ae610a8ffbe Pick-to: 6.2 6.3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* qdbusxml2cpp: Improve error messageAleix Pol2022-03-241-24/+28
| | | | | | | | | | | | | Instead of saying: You should add <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="<type>"/> to the XML description It now says You should add <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="<type>"/> to the XML description for 'Bind' So you get an idea of which type it's asking to annotate. Change-Id: Ia0842d3b54681825201813fe0875014cd35d8192 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: David Faure <david.faure@kdab.com>
* widgets: Disable "Pick color" in QColorDialog when unavailableFan PengCheng2022-03-241-14/+31
| | | | | | | | | | | On Wayland, you can't read screen content, so the "pick color" feature does not do anything. In cases such as these, we should detect that the platform does not support the feature and hide or disable the button. Fixes: QTBUG-101145 Change-Id: I192ca2aac78b3df5352b4dc71100b93f69dc5efb Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QNX: remove mmrenderer overlay window supportRafael Roquetto2022-03-245-117/+21
| | | | | | | | | QtMultimedia no longer supports overlay windows. The QNX multimedia plugin now relies on the canonical rendering codepath via QVideoWindow. Change-Id: Ic3bb14865f147a47200554e4791c191540e5bb75 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
* QAbstractItemView: with single selection, deselect on Ctrl+ReleaseVolker Hilsheimer2022-03-242-9/+30
| | | | | | | | | | | | | | | | | After cbf1b4bc60bca3994b8f8685ee922e53a6b4eed2 the selected item got deselected on Ctrl+Press, which made Ctrl+dragging a selected item impossible. Only deselect on Ctrl+Release. Add scenario to existing test case, and update the documentation to clarify the properties involved, and to point out that the event parameter might be nullptr. Fixes: QTBUG-101647 Pick-to: 6.3 6.2 Change-Id: I749b1cb1a0a311f5c1d4c333984716f05f2c90b5 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> Reviewed-by: Volker Enderlein <volker.enderlein@ifm-chemnitz.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Itemviews: start fixing mixups of int/enum for Qt's item rolesGiuseppe D'Angelo2022-03-235-9/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | A model is supposed to return a Qt::CheckState for a CheckStateRole, and a Qt::Alignment for a Qt::TextAlignmentRole. This is what the documentation says (and what makes sense), but unfortunately Qt's default delegate expected a plain `int` instead. This sometimes worked (via QVariant conversions, e.g. when using a plain enum) and sometimes didn't (e.g. when using a flag type). This is confusing for end-users (and type unsafe, killing the whole point of using enums and flags in the first place). Adding some automatic flags<->int conversions through QVariant is frowned upon, so I don't want to go there. Instead, add some private convenience functions that extract either the right type from a variant, or try to extract an `int` and convert it to the expected type. Use these from within itemviews code. Change-Id: I44bee98c4a26a1ef6c3b2fa1b8de2edfee7aef32 Pick-to: 6.2 6.3 Fixes: QTBUG-75172 Task-number: QTBUG-74639 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* FreeType: Load multiple font faces from the same file on macOSNiklas Wenzel2022-03-233-2/+77
| | | | | | | | | | | | | | Previously, if a font file contained multiple font faces, only the first could ever be loaded. This could lead to Qt loading different font styles than requested by the application. [ChangeLog][Text][Freetype] Fixed a bug where the macOS FreeType backend would fail to load font faces from font files containing multiple faces. Fixes: QTBUG-100666 Pick-to: 6.2 6.3 Change-Id: I6a126266a2e15f843dd578ab25c11748881bb932 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* tst_QLocalSocket: Add helper to dependenciesMårten Nordheim2022-03-231-0/+1
| | | | | | | | | To enable using `ninja tst_qlocalsocket_check` and have the helper (re)built as part of the dependencies. Pick-to: 6.3 6.2 Change-Id: I8703c4202a97606991d1cffe0d0f8e909a51f12f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Android: activate tst_QLineEditIvan Solovev2022-03-233-8/+10
| | | | | | | | | | | | | | Skip some of the obviously failing QCompleter-related tests instead of blacklisting them. Skip a test that causes a crash. This allows to re-enable this test in CMakeLists.txt for Android. Task-number: QTBUG-87417 Pick-to: 6.3 6.2 Change-Id: Ie7ee708df8ceddf117689e8ac749850ba86e8816 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Use the CMake path format when passing the CMAKE_PREFIX_PATH to ctestAlexey Edelev2022-03-231-10/+25
| | | | | | | | | The generated 'CTestTestfile.cmake' file contains unescaped '\' symbols in --build-options argument that causes an issue if the Windows path format is used in CMAKE_PREFIX_PATH. Change-Id: Ic03934fcb7bc6230cef72584fef81b01026d5f3b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CoreText: Maintain theme fonts in the font database instead of themesTor Arne Vestbø2022-03-235-17/+8
| | | | | | | | | | | | | | | | | | The ownership of the fonts were handled in the iOS and macOS themes, but the CoreText font database also kept a reference to these fonts. As there was no way for the themes to reset the font database references we could potentially end up in a situation where the font database had stale references. And as the font database would not rebuild the theme fonts once populated the themes then would not be able to build a new list of theme fonts. Moving the ownership to the font database makes semantics and management of the fonts clearer. Pick-to: 6.3 6.2 Change-Id: I61756abaf5487f28d520dfa1cf7a8ee2d716cce6 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Android: don't QEXPECT_FAIL in tst_QTextDocument::task240325()Assam Boudjelthia2022-03-231-3/+0
| | | | | | | | | | This test doesn't fail on Android anymore, so don't use QEXPECT_FAIL. Pick-to: 6.2 6.3 Task-number: QTBUG-100470 Fixes: QTBUG-69242 Change-Id: I5a96566728a486c701656aede1818e7ab7f019be Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* CMake: Mention where the configure summary can be foundAlexandru Croitor2022-03-231-0/+9
| | | | | | | | | | | | | | | | | | when configuring for the first time. Also mention how to increase output verbosity. Unfortunately there is no way to check what is the current log verbosity to only show the latter message conditionally. Setting --log-level does not assign the same value to CMAKE_MESSAGE_LOG_LEVEL. Amends e2a0ddbb69640c94b4ee107260a088d5c1c7e273 Pick-to: 6.2 6.3 Change-Id: I22101b9dc7c407cc54aa5e7964dec50c7490f8f5 Reviewed-by: Dimitrios Apostolou <jimis@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Use QLatin1StringView in QString/QLatin1String APIs and docsSona Kurazyan2022-03-237-440/+454
| | | | | | | | | | | | | | | - Replaced QLatin1String with QLatin1StringView in QString/QLatin1String APIs and docs (except for QLatin1String class declaration and ctor names). - Made the docs look like QLatin1StringView is "The Real Thing". [ChangeLog][QtCore] Made QLatin1StringView the recommended name for referring to a Latin-1 string view (instead of QLatin1String). Task-number: QTBUG-98434 Change-Id: I6d9a85cc956c6da0c910ad7d23be7956e4bd94ac Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QDateTime: enable larger ShortData for bootstrapped buildMarc Mutz2022-03-232-2/+2
| | | | | | | | Ensures we get a modicum of testing of the Qt7 32-bit code in. Change-Id: I0838e4340265e19ab2b17a1a91a11ef5f9948893 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QSettings: port API from QString to QAnyStringView keysMarc Mutz2022-03-233-10/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the public interface ported to QAnyStringView, we can now internally optimize memory allocations _in a central place_ (e.g. by returning std::u16string or QVarLengthArray<QChar> from normalizeKey() instead of QString). But first we needed to get rid of all the unwarranted allocations in user code. Effects on Linux AMD64 stripped C++20 release builds: GCC 11.2 libstdc++ (TEXT -= 6.5%): text data bss dec hex filename 635148 10992 2824 648964 9e704 tst_qsettings-01-baseline 593691 10992 2824 607507 94513 tst_qsettings-02-qanystringview Clang 10.0.0 libc++ (TEXT -= 11.6%(!)): text data bss dec hex filename 790336 10640 2832 803808 c43e0 tst_qsettings-01-baseline 698572 10640 2832 712044 add6c tst_qsettings-02-qanystringview That's the beauty of QAnyStringView: transparently reducing temporary QString creation; and the simplest code is also the most efficient. [ChangeLog][QtCore][QSettings] Keys can now be passed as QAnyStringView (was: QString). The most efficient way to pass literal keys is now "key"_L1, the backwards-compatible way is QStringLiteral("key"). Fixes: QTBUG-101390 Change-Id: I510fb4ce17ef109dac7c9cdc5d90ede0d1a9db5f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Remove qipaddress from boostrap libFabian Kosmale2022-03-231-1/+0
| | | | | Change-Id: I31a883404f34d0933fe8b316d05b0f28103e48ae Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>