summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* qfloat16: make it a built-in metatypeThiago Macieira2022-11-283-5/+15
| | | | | | | | | | | I've reserved the IDs for int128, uint128, bfloat16, and float128, because the mask in qvariant.cpp's qIsNumericType() requires primitives to be less than 64 to operate properly. Added a QMetaType/QDataStream test to confirm it is indeed built-in. Change-Id: I3d74c753055744deb8acfffd17247f7f57bada02 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* qfloat16: add QTextStream & QDebug streaming operatorsThiago Macieira2022-11-284-0/+18
| | | | | Change-Id: Ieba79baf5ac34264a988fffd172655bdcaf12a59 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* qfloat16: add a couple faster implementations of qSqrtThiago Macieira2022-11-281-1/+23
| | | | | | | Instead of going through float. Change-Id: Ie1b556d9ebca4ccaadd2fffd170895088a5d2dec Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* qfloat16: add support for native _Float16 (C2x extended floating point)Thiago Macieira2022-11-282-38/+121
| | | | | | | | | | | | | | | | | | | | The C++ equivalent is std::float16_t, defined in P1467[1], and is coming with GCC 13 both in native mode (for x86, using AVX512FP16) and in emulated mode. The C and C++ types will be the same type (<stdfloat> simply typedefs). qfloat16 will need to remain a wrapper with an integer member to keep ABI with previous Qt versions. Because it is a trivially-copyable small type, it gets currently passed in registers; the presence of the integer member means it gets passed in general-purpose registers, while a single _Float16 member would be passed in a floating-point register. See: https://gcc.godbolt.org/z/8fEendjff [1] https://wg21.link/p1467 Change-Id: I8a5b6425b64a4e319b94fffd161be56397cb48e6 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* qfloat16: remove the metatype dependencyThiago Macieira2022-11-283-3/+5
| | | | | | | | | | | | | | | | This macro usage is not correct. I don't know what it is for because the documentation next to it describes how to use it, not why one should use it. Anyway, it's most definitely the incorrect solution for whatever problem there may have been, so remove. I also couldn't move it to removed_api.cpp. If I do, then the QMetaTypeInterface created for qfloat16 misses the pointers to QDataStream. I'm not sure why... I think it's because the operator>> and operator<< become ambiguous, so the SFINAE to check if they exist gives up. Change-Id: I3d74c753055744deb8acfffd17247e1d2317f11c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* CMake: move the qversiontagging files into the main file listingThiago Macieira2022-11-281-3/+4
| | | | | | | Simplifies the code a little. Change-Id: Id8e48e8f498c4a029619fffd172964ca391d16d5 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: install the metatypes inside Qt's own arch-specific data dirThiago Macieira2022-11-282-6/+7
| | | | | | | | | We don't want it in /lib64/metatypes, but instead /lib64/qt6/metatypes Pick-to: 6.4 Change-Id: Id8e48e8f498c4a029619fffd17293602d7fd8bd8 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add support for stereoscopic content in QOpenGLWidgetKristoffer Skau2022-11-289-105/+383
| | | | | | | | | | | | | | | | | Need to add the plumbing necessary to support two textures in QOpenGLWidget and use these in the backing store. The changes required on the RHI level is already done in an earlier patch. Then paintGL() needs to be called twice, once for each buffer. Also add overloads for the other functions of QOopenGLWidget where it makes sense to query for left or right buffer. Then finally create an example. [ChangeLog][Widgets][QOpenGLWidget] Added support for stereoscopic rendering. Fixes: QTBUG-64587 Change-Id: I5a5c53506dcf8a56442097290dceb7eb730d50ce Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove QT_HAS_FOO() wrapper macros for __has_foo()Tor Arne Vestbø2022-11-281-8/+0
| | | | | | | | | | | | | | Using wrappers for these macros is problematic when for example passing the -frewrite-includes flag to preprocess sources before shipping off to distcc or Icecream. It will also start producing warnings when compilers implement http://eel.is/c++draft/cpp.cond#7.sentence-2. See for example https://reviews.llvm.org/D49091 Now that all uses of the macros are gone, we can follow up c3bd5ffdc8a3b459f18ba6e35fca93e29f3b0ab0 and remove the wrappers. Change-Id: I764aea17dcdabd420097a7f4bc0b987a53a345eb Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* dbus: Put the qWarnings in qdbusintegrator.cpp into its own categoryAleix Pol2022-11-281-36/+58
| | | | | | | | We already have a category for the integrator debug information, we might as well start using it for all warnings. Change-Id: I13239035a334a03036611ccac49cb8c2bf9233b7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* [docs] QList: fix history of clear() semantics changeMarc Mutz2022-11-271-10/+7
| | | | | | | | | | | | The description was copied from QVector, and doesn't exactly fit QList. For QList, the behavior changed in Qt 6.0 when QList became QVector, not in Qt 5.7, as indicated. Be more precise. Pick-to: 6.4 6.2 Change-Id: I4029d83128ec205f628125d78394e8ee79cc221f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Introduce QT_NO_AS_CONST and mark QtBase free of itMarc Mutz2022-11-272-2/+6
| | | | | Change-Id: I680086e767fe6d5c69eb7103b26150293c69b175 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* moc: Output the "cloned" flag for methodsUlf Hermann2022-11-271-0/+3
| | | | | | | | | We will need it in QML to determine which signal out of a number of "overloads" to generate handlers for. Task-number: QTBUG-108762 Change-Id: Ib73eeb59dbf037bd03faf0d841860d9ebc9e7032 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QSystemLocale[Win]: Catch potential WinRT exceptionsVladimir Belyavsky2022-11-271-3/+7
| | | | | | | | | | Some Windows SDKs seem to throw an exception from winrt::check_hresult() We need to handle this accordingly. Fixes: QTBUG-108605 Pick-to: 6.2 6.4 Change-Id: I14ad3b6dbd9b5fdf0120f9d3336a4d922167d169 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Check if fontEngine is valid in QStaticTextInho Lee2022-11-261-0/+2
| | | | | | | | | | | | When QuickWindow is set as setPersistentGraphics(false) and setPersistentSceneGraph(false), texItems' fontEngines can become invalid with hiding and showing. In this case, a new font engine is created but not used. Pick-to: 6.4 6.2 Fixes: QTBUG-108300 Change-Id: I2bd759724d78cecd62666beb6fb4a01f6063cae1 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Windows: Reevaluate dark frames if the application palette changesVolker Hilsheimer2022-11-261-9/+14
| | | | | | | | | | | | | | | | | | | Since 5ea7e3a8111b2939f0c91b750aa1c62ab16ab715 we are using dark window frames if the default palette is dark, unless applications explicitly override dark frame support. If the palette changes during runtime, we didn't reevaluate that setting. Do that by handling ApplicationPaletteChange events in QWindowsWindow. We still have to respect an explicit opt-out. Simplify the code at the call sites of setDarkBorder(), we don't need to check all the time whether the application has opted out of dark frame support. Pick-to: 6.4 Task-number: QTBUG-72028 Change-Id: I94e7d33cd21f9656ca210b43e775f487abc25b54 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QGraphicsView: fix jumping graphic items when dragging out of viewTaras Kachmaryk2022-11-261-22/+29
| | | | | | | | | | | | | | | | | | | | | The algorithms for calculating the scene's position within the view did not compensate for scrollbars showing. The scrollbars should be ignored when positioning hte scene within the view, as alignment only cares about the positioning of the scene when the view is larger than the scene anyway. Add a test case that verifies that items don't jump up or down when dragging horizontally, and not left or right when dragging vertically. Mark variables in the modified function as const where applicable to make it easier to follow the code. Done-with: Volker Hilsheimer <volker.hilsheimer@qt.io> Fixes: QTBUG-46757 Change-Id: If205637dfe124e0034f68201b23f174d6863084d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Let styles indicate that they support dark modeSanthosh Kumar2022-11-266-0/+17
| | | | | | | | | | Add a style hint that allows styles to indicate that they support dark mode. The macOS and Fusion styles support dark mode, the other styles, in particular the Windows Vista style, do not. Task-number: QTBUG-72028 Change-Id: I02cac2e19a21898663f50f09a4ef419a613a73ec Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QObject: stronger warning about isSignalConnected and threadsVolker Hilsheimer2022-11-261-13/+20
| | | | | | | | | | | | | | Document explicitly that it is not allowed to call isSignalConnected from (dis)connectNotify overrides, and add the respective warning from the disconnectNotify documentation also to the connectNotify documentation (with some light editing). Pick-to: 6.4 6.2 Fixes: QTBUG-106025 Change-Id: I41e8a9d3e6ce697cb2943d55a7c853eeec9c1dbe Reviewed-by: Lars Knoll <lars@knoll.priv.no> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QWindowsMimeConverter: Fix forward-declaration of foreign structsMårten Nordheim2022-11-261-5/+6
| | | | | | | It was inside the Qt namespace so it would try to use it as such. Change-Id: I8c8960e5f4758e945bef95b52247211e8f86efad Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QStandardItemPrivate: remove const from return type in itemDataAnton Kudryavtsev2022-11-262-6/+5
| | | | | | | While touching code, port iterator-based loop to range-based for. Change-Id: I108ab4fa1e56c50f424a58984873906d37923d3d Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Fix the assert in QWasmClipboard::writeToClipboardApiMikolaj Boc2022-11-261-1/+1
| | | | | | | The assert condition should be negated. Change-Id: I901b61012ffaf893744dfb9f762b009f267b629d Reviewed-by: David Skoland <david.skoland@qt.io>
* Use the browser compositor for drawing windows on WASMMikolaj Boc2022-11-2628-974/+940
| | | | | | | | | | | | | | | | Make the browser compositor draw the window non-client area (using css + html). Get rid of OpenGL usage in non-OpenGL windows and use canvas 2d context instead to blit the texture (QImage). Also, as part of the change, remove the deprecated canvas element support in QScreen. Fixes: QTBUG-107116 Fixes: QTBUG-107219 Change-Id: I65f0d91831c806315685ca681ac0e416673f5cd5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Aleksandr Reviakin <aleksandr.reviakin@qt.io> Reviewed-by: David Skoland <david.skoland@qt.io>
* IBus: Use portal in snapIlya Fedin2022-11-261-3/+4
| | | | | | | | Snap supports the IBus portal for two years, but Qt applications don't take its advantage in snap without setting IBUS_USE_PORTAL Change-Id: I26a044d657c4b7040a21a8510116c0c7af7aaa52 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* dbus: Include some debug messages when failing to connectAleix Pol2022-11-263-17/+37
| | | | | | | | | | | | | | When using dbus, there's a number of cases where resolution happens at runtime. It's useful to see dbus complain when connects don't work, because otherwise the system doesn't work but we don't know what is happening. Added this to debug such an issue, already helped me address other cases that had gone unnoticed elsewhere, so this is something that benefits from being in QtDBus. Change-Id: I5eefb94fcf775182edf1ad0c24e8a6692f84b15f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* qnsview_drag: only ignore key modifier while dragging 'within the application'Timur Pocheptsov2022-11-252-3/+10
| | | | | | | | | | | | We return a mask containing several supported DND operations and if modifiers were ignored, an external application can select a 'wrong' operation (not the one we wanted when pressing a modifier). Saying that, the old logic of ignoring still applies if we are dragging 'within the application'. Fixes: QTBUG-99471 Change-Id: I67c9a656960e95d6d2298f4b3bdd2052faedb263 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Android: Fix incorrect dimensions - part 2Samuel Mira2022-11-251-18/+15
| | | | | | | | | | | | The previous fix worked for lower API levels but failed to work properly on some devices (Devices with > 29 API levels). This patch fixes that issue. Task-number: QTBUG-107604 Task-number: QTBUG-107923 Pick-to: 6.2 6.4 5.15 Change-Id: I8fd3601225026ea5c370a8a1a1aab317558432b5 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Fix typo in documentation for QVariant::nameToTypeNicolas Fella2022-11-251-1/+1
| | | | | | | | Pick-to: 6.4 6.2 Change-Id: I69742b9e597012329de5f5f742d4972ea7575775 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix out-of-bounds assert in winIso639LangName()Edward Welbourne2022-11-251-1/+1
| | | | | | | | | | | | | | | QByteArray doesn't allow accessing, with operator[], the '\0' byte it stores at index size(). Previously we accessed it indirectly by dereferencing a pointer offset from its data() instead of indexing; my recent change converted the return of an endptr to the return of its index, so used operator[]. This is a follow-up to commit 6c435e5dd41177308f22ba4b55931b2c463cb0d8 Change-Id: I9faf9dfa3dcc8df1e841e5538e452afef9ba610c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* QPalette: always increase serial number when modifyingVolker Hilsheimer2022-11-251-1/+3
| | | | | | | | | | | | | | | | | | | After 109e088c7c5d0c9325966e88d55fd9f7a58f67ea, cache keys were unique for palettes with different private or data instances, but the key did not change when a palette without any shared copies was modified, as that does not create new private data structures. To fix this, always increase the counter for the private data structure, also when not detaching from shared copies. Augment test case with scenario that broke. Pick-to: 6.4 Fixes: QTBUG-108709 Change-Id: I606abfb8b1a03e515e46b10dc840a631eb31d496 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: JiDe Zhang <zhangjide@uniontech.com> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Update Gradle to 7.5.1 and Android Gradle Plug-in (AGP) to 7.3.1Rami Potinkara2022-11-253-4/+4
| | | | | | | | | Gradle 7.5.1 and AGP 7.3.1 versions are the latest at the moment. Fixes: QTBUG-105510 Change-Id: Ie2229e8929a82d60836a5fe7b3a879459995f63e Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* QLocale: Have qstrntod() return end of parsed string also on underflowUlf Hermann2022-11-251-1/+1
| | | | | | | | | Underflows should be treated the same as overflows. Fixes: QTBUG-108628 Change-Id: I23aa7bbe1d103778cefca08bd3e584e72f306583 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* ibus: check object validity before honoring `inputMethodAccepted()`Phan Quang Minh2022-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | | `inputMethodAccepted()` always return false if there is no current focus object. This means QIBusPlatformInputContext will fail to send the necessary `FocusOut` request to the input context, causing IBus to not send the appropriate content type information to the panel service when the application regains focus and issue a `FocusIn` request. This results in issues like https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5346, which can happen when a Qt application is in foreground as the IBus daemon fails to propagate the content type information to GNOME Shell, which acts as the panel service on GNOME systems. Fix this by checking for the validity of `object` before honoring the result of `inputMethodAccepted()`. Pick-to: 5.15 6.2 6.4 Change-Id: I6b79ffc7c5f03ffc05527c29e52a0859f3594bfa Reviewed-by: Liang Qi <liang.qi@qt.io>
* macdeployqt: Fix QtMultimedia plugins deploymentVladimir Belyavsky2022-11-251-1/+1
| | | | | | | | | | | | | It was not updated accordingly after QtMultimedia redesign in Qt 6. This wasn't a real problem because multimedia plugins were eliminated in principle. But it was true only until Qt 6.4, where plugins system for multimedia backends has been reintroduced. Fixes: QTBUG-108742 Fixes: QTBUG-107057 Pick-to: 6.4 Change-Id: I31be5fc20e5bdf8050c04a30492e80d96eb437fb Reviewed-by: Lars Knoll <lars@knoll.priv.no>
* forkfd/linux: add support for LoongArchWANG Xuerui2022-11-251-1/+2
| | | | | | | | | | This architecture is not CLONE_BACKWARDS in any way. Matching OpenDCDiag PR: https://github.com/opendcdiag/opendcdiag/pull/169 Pick-to: 6.4 6.2 5.15 Change-Id: Ibceccfd20d270b30302a936885d12e4c55cdd833 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Proper clearing of WinRT factory cache in QWindowsThemeYuhang Zhao2022-11-251-0/+1
| | | | | | | | | | | | I've checked the whole qtbase code base, this is the only one that's left from the previous commit. Amends commit ffb9dee1b0954e4d4f9e9791175609a80ecafc31 Task-number: QTBUG-103611 Pick-to: 6.4 6.2 Change-Id: I76a9130654819d1336c27dac350f5ad56915ad81 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* wasm: fix build of wasm accessibilityLorn Potter2022-11-251-0/+1
| | | | | | | Some platforms need extra help finding includes Change-Id: I4f18b183cea780067dd9269e07dfb7db75606406 Reviewed-by: David Skoland <david.skoland@qt.io>
* Finish the undeprecation of the QColor(string) constructorsEirik Aavitsland2022-11-251-2/+0
| | | | | | | Fixes: QTBUG-108743 Pick-to: 6.4 Change-Id: I826ae98a542516a5cf9a4e556d5e8830f9c47a86 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Documentation: Fix information on how to iterate over listsFriedemann Kleint2022-11-243-52/+2
| | | | | | | | | | | | Remove the outdated code used for QStringList and point QStringList and QList to the containers page. Pick-to: 6.4 6.2 Task-number: QTBUG-108687 Change-Id: I6fae6410ca759f91da85832ddb9f24e8a0ce202b Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Documentation: Expand documentation on how to iterate Qt containersFriedemann Kleint2022-11-242-4/+48
| | | | | | | | | | Introduce a section on iteration and add range-based for and index. Pick-to: 6.4 6.2 Task-number: QTBUG-108687 Change-Id: Icb1ff55049361769f7c0b042d42f70148dd07c2e Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Documentation: Modernize the Qt container doc snippetsFriedemann Kleint2022-11-241-23/+15
| | | | | | | | | | | Use auto and initializer lists. Avoid repeated instantiations of end(). Pick-to: 6.4 6.2 Task-number: QTBUG-108687 Change-Id: I8482638cda63e21feaa7ca21370e7947dfb4b606 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Add permission backend for WASMTor Arne Vestbø2022-11-243-1/+285
| | | | | | | | | | | The only permissions we support so far are camera, microphone, and location. The permission API works even for browsers that don't provide the Web Permission API, as we plumb the individual permission requests for media and geolocation back to our API. Change-Id: I7f5fc2266afee9ada78f2015614a8224e28afa59 Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Restore end-of-parse reporting to qstrntod()Edward Welbourne2022-11-2410-64/+69
| | | | | | | | | | | | | | | | | | Rework QSimpleParsedNumber to store a qsizetype whose sign serves as ok flag (positive is ok, zero and negative are not) and magnitude is the number of characters used. This replaces an endptr that was set to null to indicate !ok, but that deprived us of end-of-parse information, which is needed for number-parsing. In particular, JS's parsing of numbers accepts overflow (where qstrntod() flags it as invalid) as infinity; so qstrntod() does need to say how long the overflowing (but JS-valid, none the less) number-text was. Modify all callers of functions using this (recently-introduced) type and add tests that fail without this fix. Fixes: QTBUG-108628 Change-Id: I416cd213e1fb8101b1af5a6d43615b970a5db9b4 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Disable ASAN leaks check for cmake testsAlexey Edelev2022-11-241-1/+3
| | | | | | | | | | | | CMake tests have own workflow and way they run. Most of binaries produced by these tests are either no-op or check if build was successful. It doesn't make much sense to check these binaries for memory leaks, so disabling ASAN leak check. Fixes: QTBUG-108817 Change-Id: I95984e1049d6bfd691ff854e15bdf98c71c921db Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
* QFlatMap: make nested mock_object SCARYMarc Mutz2022-11-191-15/+19
| | | | | | | | | | | | | Swap the definition of the nested mock_object out of the QFlatMap body into a namespace scope and replace it with a template alias. This way, there's _one_ mock_object<U> for every U, not one for every QFlatMap<K, V, Comp, KeyC, ValueC>::mock_object<U> ("SCARY"). Should reduce compile times, but I didn't measure. Change-Id: I37f7413a49d0424e06ef4e78d65dea5962599e79 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* qNN headers: only promise what we can keepMarc Mutz2022-11-195-15/+15
| | | | | | | | | | | | | | | | In general, we can't make the qNN types behave exactly like their C++NN std counter-parts, because their exact semantics and implementation may depend on C++NN language features, while qNN are back-ports to C++ standards older than NN. Adjust the warning message accordingly. Thanks to Eddy for noticing. Pick-to: 6.4 Change-Id: I8533214549f2140a99e2216e3bcd979263fe100c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QTextLayout: fix maximumWidth() for a text containing line separatorVladimir Belyavsky2022-11-193-5/+15
| | | | | | | | | | | | | | | | | This is improved version of previous fix 013c346a8dcbd618febb07884c64c740daf9754d that was reverted because it broke some tests for Quick Text. The problem was that it did not work correctly in the case the text was wrapped to a fixed width. To deal with this we'll accumulate current line full width (as if it hadn't been wrapped) in layout data (layoutData->currentMaxWidth). Then when the next line is explicitly wrapped by line or paragraph separator, this accumulated width will be used to adjust layout's maximum width. Change-Id: Iad7119d9808e1db15fe1fbc5db049c3db928529f Fixes: QTBUG-89557 Fixes: QTBUG-104986 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* qcompilerdetection.h: include <version>Marc Mutz2022-11-191-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | ...and update the documentation for how we detect post-C++11 features, as proposed on the mailing-list: https://lists.qt-project.org/pipermail/development/2022-November/043248.html According to https://en.cppreference.com/w/cpp/compiler_support, <version> is available from - libstdc++ from GCC 9 - libc++ from LLVM 7 - MSVC 19.22 = VS 2019 16.2 - AppleClang 10 = Xcode 10.0 beta (10L176w), 10.0 (10A255), 10.1 (10B61) It is _not_ available on - GHS 22.1.4 - GCC 8.3.0 (as used by QNX 7.1, but the default is libc++) Pick-to: 6.4 Task-number: QTBUG-108228 Change-Id: I61e0727573d1b4559228e3f5bd58d73e86a9256e Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update windeployqt pluginsTimothée Keller2022-11-191-0/+1
| | | | | | | | | Added scxmldatamodel to plugin mappings Task-number: QTBUG-100700 Pick-to: 6.4 Change-Id: I58af7c0e47d3d9b7fc4d733610dcee8a7cb17228 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QHostAddress: unexport QIPv6AddressThiago Macieira2022-11-181-1/+1
| | | | | | | | Only affect MSVC anyway. For all the others, since everything is inline, there's nothing to import or export. Change-Id: Id8e48e8f498c4a029619fffd17288befde9b5f83 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>