summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* QOpenGLWidget: Fix a typo in the public documentationLaszlo Papp2022-05-271-1/+1
| | | | | Change-Id: I964f5c6a8901bf93e5e3a5afb33cb456217caf39 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* qglobal.h: use the GCC attribute for nothrow in C modeThiago Macieira2022-05-271-1/+5
| | | | | | | There's exactly one use in Qt: the qVersion() function. Change-Id: Ieb9a2aa1ea914b1b956bfffd16eff4b3b9e2119a Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* qglobal.h: reorganize and simplify the C++11 keyword macrosThiago Macieira2022-05-271-64/+23
| | | | | | | | For the C side, I don't think any of the constexpr macros have ever been in use, but I'm leaving them. Change-Id: Ieb9a2aa1ea914b1b956bfffd16eff47db2d26e4e Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* qglobal.h: remove superfluous C++11 check from Qt 5.6Thiago Macieira2022-05-271-6/+0
| | | | | | | | Superseded by the C++17 check in qglobal.h applicable to 6.0, but only added for 6.2 (commit 647c0e80ed2e190778016c4208b5d6f1f9fd6543). Change-Id: Ieb9a2aa1ea914b1b956bfffd16effa512e6f1e4a Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Add compile-time generation of JNI class namesVolker Hilsheimer2022-05-273-2/+47
| | | | | | | | | | | | | | | | | | | | | As with method signatures, register class names using template function specialization in the QtJniTypes namespace, and then declare C++ types as JNI classes with a class name string. Such classes implicitly get registered as JNI types as well. Add a QJniObject construct method (since C++ constructors that are templates cannot be explicitly instantiated with a type), and a QJniEnvironment::findClass overload. Add test coverage, also for the recently added macros for native methods. As a drive-by, change the name of the Q_JNI_DECLARE_NATIVE_METHOD macro to Q_DECLARE_JNI_NATIVE_METHOD for consistency. Change-Id: Ic19562d78da726f202b3bdf4e9354e8ad24d8bd9 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Make it possible to create QTextureFileData from imagesPaul Olav Tvete2022-05-272-17/+55
| | | | | | | | | | | | | Currently it is only possible to create a cube map texture from a single compressed texture file. In many cases, the cubemap asset is available as a set of individual image files. Making it possible to use these images directly will make the development process more efficient, and will reduce the size of the assets needed to be shipped with demos and examples. Task-number: QTBUG-103191 Change-Id: Icd12548e2dab55ec2123804cb28353cbf29926ce Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Fix documentation that claims that QStyleHints is read onlyVolker Hilsheimer2022-05-271-5/+4
| | | | | | | | | Most properties are, but some properties (such as useHoverEffects or showShortcutsInContextMenus) can be set by the application. Pick-to: 6.3 6.2 Change-Id: Ia6e0563a892f26456d595026f6c82502a9e888da Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Core: make CLDR data constexprYuhang Zhao2022-05-272-30/+30
| | | | | | | Task-number: QTBUG-100485 Pick-to: 6.3 6.2 Change-Id: Ib8c5160ca0994662a5fdc2293dc734c1bdcac4f2 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Optimize QThreadPrivate::addObjectWithPendingBindingStatusChange()Marc Mutz2022-05-262-9/+14
| | | | | | | | | | | | | | | | | | | | | ... and bindingStatus() QBindingStatus* is the final state of the value chain in m_statusOrPendingObjects, so we can use the Double-Checked Locking Pattern to avoid locking the mutex when we already have a status - it won't go away again, unlike the vector in the List state. To enable the change, make the data member an atomic<>. All loads and stores can continue to use memory_order::relaxed, except the loads of a potential status, which have to acquire, and the store of the status, which has to release. This creates the necessary synchronizes-with relation. So even though we synchronize out of middle of the mutex critical section in QThread::exec() this way, there's no data race between QThread::exec() and a potential bindingStatus() call. Change-Id: I0e0b7bd305649fa5f56a0f8723fb75f2577b90dd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QTextDocument: add setLayoutEnabled()David Faure2022-05-264-4/+45
| | | | | | | | | | | | This allows to set up everything first - without paying for the layout calculation at every step - and only then trigger the layout once. Results: 0.065 msecs to create a QGraphicsTextItem with some text (layouted) 0.036 msecs to set everything up in a QGraphicsTextItem with 0 width Change-Id: I138bd1d58941d029bc0a36d2730216778f1fbd97 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* macOS: create application menu as QCocoaNSMenu with delegateVolker Hilsheimer2022-05-263-1/+9
| | | | | | | | | | | | This way we can handle keyboard shortcuts for actions in that menu as well in our menuHasKeyEquivalent implementation. This allows the focus widget to accept the override, and e.g. a QKeySequenceEdit to record Cmd+Q which with a plain NSMenu will just quit the application. Pick-to: 6.3 6.2 Fixes: QTBUG-103590 Change-Id: I84597307aef8f0ab65d97d78e5aa15e5cf2e707d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Expand QColorTransformAllan Sandfeld Jensen2022-05-268-13/+135
| | | | | | | | | | Add comparison operators and an isIdentity() method to detect (1-1) transforms. [ChangeLog][QtGui] Added QColorTransform::isIdentity() method. Added QImage::colorTransformed() transitive method. Change-Id: I5fbcd14e75f2179e43e94e8c5f42cd0a5600790b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Core: make Unicode Database constexprYuhang Zhao2022-05-261-11/+11
| | | | | | | | Task-number: QTBUG-100485 Pick-to: 6.3 6.2 Change-Id: I41480a34b14fd86a68a5c10b7e0f3d250e785d0f Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix Windows display versionYuhang Zhao2022-05-261-5/+10
| | | | | | | | | The "ReleaseId" key's value stopped updating since Windows 10 20H2, so we should query the new "DisplayVersion" key when running on Windows 10 20H2 and onwards. Change-Id: Ifaa8287f9812126bde0390337af0cda23ff8e529 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add test of QColorTransformAllan Sandfeld Jensen2022-05-261-1/+1
| | | | | | | | | Before it was only tested indirectly as part of the qcolorspace tests. This also fixes a rounding for maximum RGB64 values. Pick-to: 6.3 Change-Id: I6106e662c0f9d00c0b3a0c13213cb051ea39e14e Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* QFileSystemModelPrivate: de-inline ctor and dtorThiago Macieira2022-05-252-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | This class is dllexport'ed and has members that refer to classes that are only forward-declared in the header (such as QRegularExpression, used in std::vector). GCC and MSVC appear to emit the destructor at the point where it is used, which I guess is the vtable, which probably means where the constructor was inlined because I don't see any virtual overrides. Clang (at least in the form of ICX) appears to emit it at the class declaration point. C:\Qt\qt-everywhere-src-6.3.0\qtbase\src\gui\itemmodels/qfilesystemmodel_p.h(94,20): note: in instantiation of member function 'std::vector<QRegularExpression>::~vector' requested here class Q_GUI_EXPORT QFileSystemModelPrivate : public QAbstractItemModelPrivate ^ C:\Qt\qt-everywhere-src-6.3.0\qtbase\src\gui\itemmodels/qfilesystemmodel_p.h(94,20): note: in implicit destructor for 'QFileSystemModelPrivate' first required here C:\Qt\qt-everywhere-src-6.3.0\qtbase\src\gui\itemmodels/qfilesystemmodel_p.h(94,7): note: due to 'QFileSystemModelPrivate' being dllexported Fix by defining both the default ctor and the dtor out-of-line. Task-number: QTBUG-45582 Fixes: QTBUG-103605 Pick-to: 5.15 6.2 6.3 Change-Id: I77c8221eb2824c369feffffd16f08ee39004a825 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* uic: Fix string list properties for PythonFriedemann Kleint2022-05-261-10/+27
| | | | | | | | | | | | Use the opportunity to modernize the code to use an initializer list instead of stream operators. This then makes it easier to generate a comma-delimited list that works for Python as well. Fixes: PYSIDE-1942 Change-Id: I5291b55bd0685e06ad62e52c7ebccffce98e9c23 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Short live q20::remove_cvref{,_t}!Marc Mutz2022-05-261-0/+13
| | | | | | | | | | C++20 added this as a more light-weight alternative to std::decay. Task-number: QTBUG-103739 Change-Id: Icbb973d9500a0d1425859f8f104b7aef1ec917f1 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* q20functional.h: transitively include <functional>Marc Mutz2022-05-261-0/+2
| | | | | | | | | | | | | | | | | | We don't want to require users to say #include <functional> #include <q20functional.h> because that would leave duplicated <functional> includes after a mechanical s/q20functional.h/functional/. Mechanical transformation is the major design goal of the qNN namespaces, so fix this before we use the header in ever more places. Pick-to: 6.3 Change-Id: Id258c36a042214f41b737fb7ab60906cc8e76ca6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QMap: fix values() documentationGiuseppe D'Angelo2022-05-251-3/+1
| | | | | | | | | The body was still referring to the Qt 5 QMap where the same key could be mapping to multiple values. That's no longer the case in Qt 6. Change-Id: Idb1786ac45f328c318878fa52bf5d43d79c0178a Pick-to: 6.2 6.3 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* doc: cross-link markdown functions in QTextDocumentFragment, QTextCursorShawn Rutledge2022-05-251-6/+5
| | | | | | | | Followup to 7c7606460403e6495b860134f28e8d4d45c6c810 Task-number: QTBUG-76105 Change-Id: I15ec22fb2bb40dc7b0f6f685cb2dc77a08c89918 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* macOS: Add private API to ensure that a process is responsible/disclaimedTor Arne Vestbø2022-05-252-0/+54
| | | | | | | | | Useful for tests that request permissions and need to ensure these are requested on behalf of the app itself, and not its parent process, regardless of how it's invoked. Change-Id: Iac493e95440a3a04df4fa466c1d700ba1233e393 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QStringConverter: Do not crash if invalidFabian Kosmale2022-05-251-4/+26
| | | | | | | | | | | Attempting to use an invalid QStringConverter would so far have resulted in a crash, as we would dereference the null iface pointer. Fix this by inserting adequate checks, and ensure that hasError returns true if we attempt to en/decode with an invalid converter. Pick-to: 6.2 6.3 Change-Id: Icf74bb88cd8c95685481cc0bd512da99b62f33e6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QKeySequence: Add missing modifier namesLaszlo Papp2022-05-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue is that when someone is trying to use the following code: QKeySequence keySequence(Qt::Key_Shift); qDebug() << keySequence.toString(); This will print seemingly gibberish output. It is unicode in practice. For Qt::Key_Shift, this would be: "�_@\uDC20" The reason why this is happening is because we have platform-specific ways to handle this due to Mac glyphs which are not available on Linux or Windows. This works fine on Mac. But for the Linux and Windows codepaths, there is not really any mapping like for other keys. It seems that modifiers were left out. The solution is to simply amend the list of mapping from these modifier key codes to raw strings for Linux and Windows like it is done for other key codes. So, now, modifiers will also be included in the list. So, the expected output will be generated for the above code, as: "Shift". [ChangeLog][QtGui][QKeySequence] Added missing modifier names Fixes: QTBUG-69715 Fixes: QTBUG-40030 Change-Id: I460d54bc8e593b350ff95894f23c5b4a7c819a44 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QUnicodeTools: Fix line breaking before open parenthesesIevgenii Meshcheriakov2022-05-241-4/+18
| | | | | | | | | | | | | | UAX #14, revision 45 (Unicode 13) has changed rule LB30 to only trigger if the open parentheses is non-wide: (AL | HL | NU) × [OP-[\p{ea=F}\p{ea=W}\p{ea=H}]] This fixes the remaining 24 line break tests. Task-number: QTBUG-97537 Pick-to: 6.3 Change-Id: I9870588c04bf0f6ae0a98289739bef8490f67f69 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Unicode: Extract EastAsianWidth propertyIevgenii Meshcheriakov2022-05-242-9759/+9911
| | | | | | | | | | This property is needed to properly implement the line breaking algorithm from UAX #14. Task-number: QTBUG-97537 Pick-to: 6.3 Change-Id: Ia83cc553c9ef19fae33560721630849d2a95af84 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QUnicodeTools: Fix line breaking for potential emojisIevgenii Meshcheriakov2022-05-241-0/+11
| | | | | | | | | | | | | | Implement part of LB30b introduced by UAX #14, revision 47 (Unicode 14.0.0): [\p{Extended_Pictographic}&\p{Cn}] × EM This fixes one line breaking test. Task-number: QTBUG-97537 Pick-to: 6.3 Change-Id: I3fd2372a057b7391d8846e9c146f69a54686ea61 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QUnicodeTools: Fix interactions of WB3d and WB4 rulesIevgenii Meshcheriakov2022-05-241-2/+7
| | | | | | | | | | | Word breaking rule WB3d should not be affected by WB4. This fixes the remaining word break test. Task-number: QTBUG-97537 Pick-to: 6.2 6.3 Change-Id: I99aee831d7c54fafcd2a9d526a3e078b12c5bfad Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QUnicodeTools: Handle WB3c word break ruleIevgenii Meshcheriakov2022-05-241-2/+12
| | | | | | | | | | | | | | | Adjust handling of WB3c rule to UAX #29, revision 33 (Unicode 11.0.0). The rule reads: ZWJ × \p{Extended_Pictographic} This fixes 9 word break tests. Task-number: QTBUG-97537 Pick-to: 6.2 6.3 Change-Id: I818d4048828e6663d5c090aa372d83f5099fdffe Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Unicode: Remove obsolete word break classesIevgenii Meshcheriakov2022-05-243-33/+25
| | | | | | | | | | Remove E_Base, Glue_After_Zwj, E_Base_GAZ, and E_Modifier obsoleted by UTS #29, version 33 (Unicode 11.0.0). Task-number: QTBUG-97537 Pick-to: 6.2 6.3 Change-Id: If5dc36ae17cd8746bbe81b73bbcc0863181e4a7a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QUnicodeTools: Adjust properties of WSegSpace word break classIevgenii Meshcheriakov2022-05-241-23/+23
| | | | | | | | | | | | | | | | | | Disable break between sequences of WSegSpace characters (rule WB3d, introduced in UAX #29, version 33, Unicode 11.0.0). Also disable breaks between WSegSpace and (Extend | Format | ZWJ) due to rule WB4. Adjust "words4" test to take the above changes into account (space character belongs to WSegSpace). Mention the full class name in a comment inside the word break table. This fixes 34 word break tests. Task-number: QTBUG-97537 Pick-to: 6.2 6.3 Change-Id: I7dfe8367e45c86913bb7d7fe2adb053711978487 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QUnicodeTools: Fix handling of LB22 line break ruleIevgenii Meshcheriakov2022-05-241-11/+11
| | | | | | | | | | | | | | This rule was simplified in version UTS #14 version 45 (Unicode 13.0.0) to read: × IN Re-enabled 28 fixed line break tests. Task-number: QTBUG-97537 Pick-to: 6.2 6.3 Change-Id: I1c5565a8c1633428c22379917215d4e424ff0055 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QUnicodeTools: Remove ZWJ data from the line break tableIevgenii Meshcheriakov2022-05-241-38/+37
| | | | | | | | | | | ZWJ is handled separately by rule LB8a. The code for rule LB10 was adjusted to handle ZWJ as AL as required by the specification. Task-number: QTBUG-97537 Pick-to: 6.2 6.3 Change-Id: I814cbb4a26f2994296767cca0443d8a1a1aaf739 Reviewed-by: Øystein Heskestad <oystein.heskestad@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QUnicodeTools: Fix handling of ZWJ for line breaksIevgenii Meshcheriakov2022-05-241-3/+2
| | | | | | | | | | | | | | | Adjust implementation of rule LB8a of UAX #14. The rule was changed in version 41 (corresponding to Unicode 11.0.0): ZWJ × (ID | EB | EM) ⇒ ZWJ × Fixing this rule fixes 9 line break tests. Those are re-enabled. Task-number: QTBUG-97537 Pick-to: 6.2 6.3 Change-Id: I1570719590a46ae28c98ed7d5053e72b12915db7 Reviewed-by: Øystein Heskestad <oystein.heskestad@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Refactor if-else snake into switch statementVolker Hilsheimer2022-05-241-19/+20
| | | | | Change-Id: I597d5cbdddf4a2fbbe8b9de2ae252cdeadce9d11 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Make sure the correct context is current when invoking resizeGLLaszlo Agocs2022-05-241-0/+3
| | | | | | | | | | | | | | | After the 6.4 changes for QRhi-based compositing in widgets there is now a good chance that a different context is current after recreateFbo in case it actually created a new texture and fbo. This is not great if we immediately call resizeGL() afterwards since the contract for the reimplementable functions is that the QOpenGLWidget's context is current. Make sure this contract is followed. Fixes: QTBUG-103319 Change-Id: I59a5fa9500df34b86787927e1114d0a80297678a Reviewed-by: Christian Strømme <christian.stromme@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* rhi: Fix texture format doc typo and rephraseLaszlo Agocs2022-05-241-3/+3
| | | | | Change-Id: Ica4cc0fcea642eccfff7b53a65e7d1a428fd4dad Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Enable text layout drawing on coordinates outside QFIXED_MAXEirik Aavitsland2022-05-241-5/+12
| | | | | | | | | | | | | | | In an earlier commit, painting on such coordinates was rejected, since it would overflow the internal calculations using QFixed. Instead, avoid the overflow by translating the painter to avoid the huge coordinate values. Also reduce the max value somewhat, so that pos stays well away from QFIXED_MAX, to avoid overflows in the other QFixed variables that have values offset from pos. Fixes: QTBUG-103745 Pick-to: 6.3 6.2 Change-Id: Iebdec32bed57fe8e65551c7d278da9fd6c041b37 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix race conditions in moveToThreadFabian Kosmale2022-05-243-33/+135
| | | | | | | | | | | | | Amends ba6c1d2785ca6d8a8b162abcd9d978ab0c52ea2d, which made m_statusOrPendingObjects already atomic, but did not handle concurrent deletion/push_back of the pendingObjects vector correctly. We use the existing lock in QThreadPrivate to prevent data races. Pick-to: 6.2 6.3 Fixes: QTBUG-101681 Change-Id: I0b440fee6ec270d762e6700a4fe74f28b19e75e8 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Update qt_attribution for harfbuzzEskil Abrahamsen Blomfeldt2022-05-241-1/+1
| | | | | | | | | | | | | | | Amends d88da0b2b0a8abaaa521bef864378fe1dbf86709 where I forgot updating the attribution. Note that the original change was never picked to 6.2 after all, since that is on an even older version of Harfbuzz, therefore this one is only picked to 6.3. Given the phase 6.2 is in, I decided it was better to leave it, since it didn't get the 3.0.0 update either. Pick-to: 6.3 Task-number: QTBUG-103603 Change-Id: Ie323d931b49158776c2b9fcc4835b69ca4e2f905 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix QWidget::metric to use widget screen dpr instead of app-dprThorbjørn Lund Martsum2022-05-241-13/+4
| | | | | | | | | | | | | Use the widget screen dpr in calculations rather than qApp->devicePixelRatio(). The screen may have been directly set (without the window handle being initialized) Task-number: QTBUG-103309 Task-number: QTBUG-49663 Task-number: QTBUG-101947 Task-number: QTBUG-102982 Change-Id: I2af2073640b171baf68575e3bc93b29b6a9a471d Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* wasm: move CTRL <-> META comment into right placeMorten Sørvig2022-05-242-2/+3
| | | | | | Change-Id: I9f95542fd6a0326985744503a71e36448961d6fc Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: David Skoland <david.skoland@qt.io>
* wasm: Improve wheel event handlingMorten Sørvig2022-05-241-17/+14
| | | | | | | | | | | | | | | | | | | | | | | Always invert scroll deltas. This is what the code did before, expect for on non-Safari macOS. There is no need any "smart" code here: correct deltas are provided by the native API regardless of macOS scroll direction setting. Reading webkitDirectionInvertedFromDevice is still useful for certain use cases, such as 3D scene zooming or spinbox value change, where upwards motion on the trackpad should always correspond to "increment" regardless of scroll direction. Propagate this to Qt using one of the handleWheelEvent() overloads Finally, we were sending pixel deltas as angle deltas; fix by sending pixel deltas as well, but keep existing angle delta behavior for compatibility. Change-Id: I7a7104c30da057fefc0377816e551a9e7e2fa0e7 Reviewed-by: Lorn Potter <lorn.potter@gmail.com> Reviewed-by: David Skoland <david.skoland@qt.io>
* wasm: remove debug codeMorten Sørvig2022-05-241-8/+0
| | | | | | | Accidentally added with commit d4905016. Change-Id: Ie896dc79218f5778be552114d9e896fea8c80ed8 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: use correct geometry when drawing window decorationsMorten Sørvig2022-05-241-3/+3
| | | | | | | | | | | | | | We were drawing window decorations at an incorrect location in cases where the QScreen was not at (0,0) (i.e. at an offset on the web page). Window content was placed correctly. Correct canvas geometry can be fond by offsetting window geometry by the negative screen position. Implement this for drawWindowDecorations(), and also simplify the existing code in drawWindowContent(). Change-Id: I1347d325a58dae5e2bb950b93902123f64199ee8 Reviewed-by: Lorn Potter <lorn.potter@gmail.com> Reviewed-by: David Skoland <david.skoland@qt.io>
* wasm: update m_normalGeometry on setGeometry()Morten Sørvig2022-05-241-0/+2
| | | | | | | | | If we don't do this then applyWindowState() will apply the original window geometry from QWasmWindow::initialize(). Change-Id: I4a0fb7aa7984ba21c64364e0bf00d70513232d5d Reviewed-by: Lorn Potter <lorn.potter@gmail.com> Reviewed-by: David Skoland <david.skoland@qt.io>
* QAuthenticator: allow to set custom SPN for Windows clientIvan Solovev2022-05-241-3/+27
| | | | | | | | | A new option is added for SPNEGO/Negotiate authentication with SSPI backend to customize the SPN that is used during the procedure. Fixes: QTBUG-88869 Change-Id: If034ef451a61593445d8e79e7f82b9d3610ed653 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QStringConverter: use the QUtf8 codec when Windows is using UTF-8Thiago Macieira2022-05-232-4/+32
| | | | | | | | | | | | | | | | | | | | The QLocal8Bit implementation assumes that there's at most one continuation byte -- that is, that all codecs are either Single or Double Byte Character Sets (SBCS or DBCS). It appears to be the case for all Windows default codepages, except for CP_UTF8, which is an opt-in anyway. Instead of fixing our codec, let's just use the optimized UTF-8 implementation. [ChangeLog][Windows] Fixed support for using Qt applications with UTF-8 as the system codepage or by enabling that in the application's manifest. Discussed-on: https://lists.qt-project.org/pipermail/interest/2022-May/038241.html Pick-to: 6.2 6.3 Change-Id: I77c8221eb2824c369feffffd16f0912550a98049 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QVector: make sure the forwarding headers for the Java iterators existThiago Macieira2022-05-231-0/+6
| | | | | | | | | | | | | | They used to in Qt 5. And now they do again: $ grep . include/QtCore/Q*Vector* include/QtCore/QMutableVectorIterator:#include "qvector.h" include/QtCore/QVector:#include "qvector.h" include/QtCore/QVectorIterator:#include "qvector.h" Pick-to: 6.2 6.3 Fixes: QTBUG-103742 Change-Id: I77c8221eb2824c369feffffd16f128a983f4866c Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* StackTraceHandler: call the debugger directly, instead of via /bin/shThiago Macieira2022-05-231-14/+29
| | | | | | | | | | | | | This removes one middle-man and a 512-byte variable in favor of a simple 32-bit enum. This was done in a way so we can extend to use either gdb or lldb in any OS. I've renamed the debuggerPresent() function to make its meaning clearer. Pick-to: 6.3 Change-Id: I5ff8e16fcdcb4ffd9ab6fffd16eba561628ff89b Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>