summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-238-53/+86
|\ | | | | | | Change-Id: Iaa439ba7dff19a17e3716b3d30f49f60fa6e38f8
| * Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Liang Qi2020-04-222-0/+4
| |\
| | * Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2020-04-222-0/+4
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3a6d8df5219653b043bd642668cee193f563ec84. That change is only for 5.14. Conflicts: src/plugins/platforms/wasm/qwasmeventtranslator.cpp src/plugins/platforms/wasm/qwasmintegration.cpp src/plugins/platforms/wasm/qwasmopenglcontext.cpp src/plugins/platforms/wasm/qwasmscreen.cpp Change-Id: Ib9151e199291fe6eb4151027b515393c05303d65
| | | * QAuthenticator: Reset the authentication challengeMårten Nordheim2020-04-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both Negotiate and NTLM are conditioned on the 'challenge' being empty when starting the authentication process. So let's reset it when we start the authentication process. Fixes: QTBUG-83370 Change-Id: I41af6d5bcfe3dd980ca2bedce10ceff4f61047ff Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | | * Merge remote-tracking branch 'origin/5.14.2' into 5.14Qt Forward Merge Bot2020-04-215-21/+22
| | | |\ | | | | | | | | | | | | | | | Change-Id: I11019c23d949af45f0be814ab894dee602fb1b1a
| | | | * Revert "wasm: Specify event targets by CSS selectors; Support emsdk >= 1.39.5"v5.14.2Morten Johan Sørvig2020-03-274-21/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c6da278271a2a3627b7a9933776cbdffc5bd2f23. This was a 5.15-only change which should not go into 5.14 since it raises the minimum supported emsdk version. Task-number: QTBUG-83098 Change-Id: I9e15952803f9dfff89b5b4e9caeff5c03dabca27 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | | | * widgets: Re-calculate focus frame style option after setting new geometryTor Arne Vestbø2020-03-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-83019 Change-Id: I75d3d93732cb0c5a5b7350f19f0227998bda4791 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | | | Standardise language about quoted text in date/time format stringsEdward Welbourne2020-04-221-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iaaeff8cd28a23b878ca07d716e67d4bd9fbb8176 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * | | | Handle specified time-spec in date-time parsingAndrei Golubev2020-04-226-39/+68
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a date-time was parsed from a string, the result was equal (as a date-time) to the correct value, but had (at least in some cases) the wrong spec, where it should have had a spec reflecting the zone specifier parsed. The time-spec imposed for the benefit of QDateTimeEdit is now moved from QDateTimeParser to QDateTimeEditPrivate, which takes over responsibility for imposing it. QDateTimeParser assumes Qt::LocalTime in member functions (where applicable) and uses the time-spec parsed from the string when constructing the date-time. QDateTime::fromString() and QLocale::toDateTime() are updated to use the full QDateTime returned by QDateTimeParser. Fixes: QTBUG-83075 Done-With: Edward Welbourne <edward.welbourne@qt.io> Change-Id: I8b79add2c7fc13a200e1252d48dbfa70b36757bf Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | | Merge "Merge remote-tracking branch 'origin/5.15' into dev"Qt Forward Merge Bot2020-04-2298-960/+839
|\ \ \ \
| * | | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-2298-960/+839
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/widgets/qabstractbutton.cpp src/widgets/widgets/qbuttongroup.cpp src/widgets/widgets/qbuttongroup.h src/widgets/widgets/qsplashscreen.cpp tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp tests/benchmarks/opengl/main.cpp Needed update: src/plugins/platforms/cocoa/CMakeLists.txt Change-Id: I7be4baebb63844ec2b3e0de859ca9de1bc730bb5
| | * | | Doc: Fix documentation warnings for Qt CoreTopi Reinio2020-04-213-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qsocketnotifier.h:113:69: error: cannot initialize return object of type 'Qt::HANDLE' (aka 'void *') with an lvalue of type 'const QSocketDescriptor::DescriptorType' (aka 'const int') qsortfilterproxymodel.cpp:2938: error: out-of-line definition of 'recursiveFilteringEnabledChanged' does not match any declaration in 'QSortFilterProxyModel' qline.cpp:376: (qdoc) warning: Cannot find 'QLineF::IntersectionType' specified with '\enum' in any header file Fixes: QTBUG-83676 Change-Id: I57b51f4ad15fdc50db88100ad5b1cb85ed394b7a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * | | Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Qt Forward Merge Bot2020-04-204-2/+112
| | |\ \ \
| | | * | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-04-204-2/+112
| | | |\| | | | | | | | | | | | | | | | | | | | Change-Id: I088f72543f5a964ae073f434b819b5fda4c549c8
| | | | * | sqlite: Fix CVE-2020-11656Andy Shaw2020-04-202-1/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was taken from d09f8c3621d5f7f8 and b64674919f673602 in SQLite, ref: https://www3.sqlite.org/cgi/src/info/d09f8c3621d5f7f8 https://www.sqlite.org/cgi/src/info/b64674919f673602 [ChangeLog][QtSQL][sqlite] Fixed CVE-2020-11656 Fixes: QTBUG-83652 Change-Id: I99bd59dc10b753ff19822c902dff1fc339d330a8 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | | | * | sqlite: Fix CVE-2020-11655Andy Shaw2020-04-202-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was taken from 4a302b42c7bf5e11 in SQLite, ref: https://www3.sqlite.org/cgi/src/info/4a302b42c7bf5e11 [ChangeLog][QtSQL][sqlite] Fixed CVE-2020-11655 Task-number: QTBUG-83652 Change-Id: I5ead78d9ee63aa0f12f1c1014c79373728569f30 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | | | * | doc: AA_DisableSessionManager was added in 5.14Liang Qi2020-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This amends 404bee752c5058506900c23faa9d577a38b300f1. Fixes: QTBUG-83611 Change-Id: Ic3379a646b9c70fb23fd1f3f4bebed6e0b485664 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * | | | Markdown writer: omit space after opening code block fenceShawn Rutledge2020-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CommonMark spec shows that it's not necessary to have a space between the code fence and the language string: https://spec.commonmark.org/0.29/#example-112 This also avoids a needless trailing space after a code fence that does not include a language string. Change-Id: I2addd38a196045a7442150760b73269bfe4ffb22 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * | | | Markdown writer: don't wrap code block, and detect its endShawn Rutledge2020-04-201-7/+10
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The end of a code block nested in a list item is now detected; and if the text of the list item continues after the code block, it continues to be indented. Code blocks should never be word-wrapped. Fixes: QTBUG-80603 Change-Id: I4427f8b1d4807d819616f5cb971e2d006170d9be Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * | | Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Liang Qi2020-04-202-1/+3
| | |\ \ \
| | | * | | Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2020-04-202-1/+3
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt_common.prf src/network/ssl/qsslsocket_openssl_symbols.cpp src/network/ssl/qsslsocket_openssl11_symbols_p.h src/network/ssl/qsslsocket_opensslpre11_symbols_p.h src/plugins/platforms/wasm/qwasmeventdispatcher.cpp Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io> Change-Id: I04fb3139a0e2efd4bc2f0959f131679f192fa0f8
| | | | * | OpenSSL: handle SSL_shutdown's errors properlyTimur Pocheptsov2020-04-166-7/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not call SSL_shutdown on a session that is in handshake state (SSL_in_init(s) returns 1). Also, do not call SSL_shutdown if a session encountered a fatal error (SSL_ERROR_SYSCALL or SSL_ERROR_SSL was found before). If SSL_shutdown was unsuccessful (returned code != 1), we have to clear the error(s) it queued. Unfortunately, SSL_in_init was a macro in OpenSSL 1.0.x. We have to resolve SSL_state to implement SSL_in_init. Fixes: QTBUG-83450 Change-Id: I6326119f4e79605429263045ac20605c30dccca3 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 8907635da59c2ae0e8db01f27b24a841b830e655)
| | | | * | wasm: do not try to resume main thread if mainloop has not started yetLorn Potter2020-04-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit d928beb024c240b37d35d2c53f25648c99a484b4) Fixes: QTBUG-83293 Change-Id: Ibd891629d1d023e47d196dd60821cc5c583a178d Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | | | * | Add information for macOS to qsystemdetection.hLars Schmertmann2020-04-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ibc99b5481709b1b99cdbbdd94ad544175871cbae Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | | | Add support for high resolution wheel events from Linux 5.0+Allan Sandfeld Jensen2020-04-202-2/+36
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They come in as a different relative axis, and we need to ignore the old axis to not scroll double. Change-Id: I808cce95417ec9f8058dee26d0a2694dda27944d Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| | * | | QSocketNotifier::activated(QSocketDescriptor...) doc fixupMårten Nordheim2020-04-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We agreed to make the type internal but somehow it slipped my mind to actually label them as such. Task-number: QTBUG-70441 Change-Id: Id90521ecc09bfa1db29601b96ba70bcdcb64d458 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | | rcc: Always seed the hash with 0hjk2020-04-171-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That was already done to pass the auto tests, but the randomization also bites for reproducible builds. Change-Id: Ibf4da513059deb5a806d2ac1a83c1994edf09d4a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | | Docs: show more relevant and correct way of using Q_FLAGVolker Hilsheimer2020-04-162-13/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The snippet didn't quote the QLibrary header correctly, and didn't register the flags type, but only the enum type with the meta object system. Update example to use QItemSelectionModel instead as a more relevant class for readers, and restructure the text a bit. Change-Id: I572e2aaac4601087e7aa6d2ea7a8f8fd65d82539 Fixes: QTBUG-83474 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| | * | | Introduce QSocketNotifier::activate(QSocketDescriptor, QSN::Type)Mårten Nordheim2020-04-1617-33/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pre-existing overload passes an int, but this can mean the descriptor gets truncated in compilations where the descriptor is 64-bit. The old overload with int is visible when querying the metaobject system so string-based connects still work as before, and connecting to it will produce a deprecation warning in the output. At the same time the PMF-based connect will, on recompile, pick the QSocketDescriptor overload. As an added improvement it also comes with the notification type, removing the need for separate slots where the code would be mostly shared anyway. The QSocketDescriptor type can be implicitly converted to and from qintptr to ensure existing code still compiles. It can also be constructed from Qt::HANDLE on Windows. In this same patch I also update the existing string-based connects in this module, which then includes updating the parameters for some slots as well. [ChangeLog][QtCore][QSocketNotifier] Added QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type). This replaces the activated(int) signal which in 64-bit environments could truncate the socket descriptor. If you use "activated" with the string-based connect() then you need to update the parameter type of the signal and slot if it had one. If you use it with the pointer to member function based connect() then all you need to do is update your slot's parameter type if it has one. If you need to compile your source code with multiple versions of Qt then connect() to this function using pointer to member function and update the slot's parameter type if needed. Task-number: QTBUG-70441 Change-Id: Ic43d6bc4c5bcb4040867b2ffad8d36fb01eed8af Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * | | Fix display-name calls in QAndroidTimeZonePrivate::init()Edward Welbourne2020-04-161-13/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following up on commits 4fa8dfee5dd31433d22fdb449c1783e256931c8f and c20c7efea96046bebcb8ff7823d3a7e227f92e73, where I apparently got the call to Java's getDisplayName() method wrong. Use the same code as our own displayName() method used for this, pulled out as a function to be shared by the two callers. This requires a locale and it's not immediately obvious which to use, so try the three most plausible candidates: C locale because IANA IDs are typically in it; default because that's most likely what language a user-supplied locale name might be in; and system because the name may have come from the system, not the user. In the process fixed some loops that didn't visit all the values they thought they did. Fixes: QTBUG-81975 Change-Id: I7867ca6f46951315a41c389107439acb439eaf08 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| | * | | macOS: Remove a bunch of dead (forward) declarationsTor Arne Vestbø2020-04-1519-270/+25
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I402668a17b48c164658f775bacd832615a6d2587 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | Windows: Make QStandardPaths::writableLocation low-integrity awareFredrik Orderud2020-04-151-2/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return %USERPROFILE%\AppData\LocalLow instead of %USERPROFILE%\AppData\Local when running in a low-integrity process. [ChangeLog][QtCore][QStandardPaths] When used in a low-integrity process on Windows, QStandardPaths::writableLocation returns respective low-integrity paths. Fixes: QTBUG-83453 Change-Id: Ie5e4625a34d08e4ef54be4ba45b2dae9e60feb63 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * | | Fix image scaling on WASM platformAllan Sandfeld Jensen2020-04-153-326/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently it has trouble with multi-threading from the main thread. Change-Id: Ib544d69270c2780d4a42bde6fd7f491e32f29cd2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * | | doc: Recommend the QSplashScreen constructor taking a QScreen*Shawn Rutledge2020-04-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Amends 49362d064fffe350600f5324fb510b381578d04a Change-Id: If217af44cf6ebe8ebed37bbd927ac311b23d8c0e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * | | Add QButtonGroup::idClicked/Pressed/Released/Toggled signalsVolker Hilsheimer2020-04-153-8/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the deprecation of the signal overloads, the remaining signals did not provide equivalent functionality for connecting a slot expecting an integer. The mapping from QAbstractButton* to the ID is comparatively cumbersome to do in the connected slot. Add uniquely named signals that emit the ID of the button directly. [ChangeLog][QtWidgets][QButtonGroup] Added signals idClicked/Pressed/Released/Toggled that replace the deprecated signal overloads. Change-Id: I77215e4f815c4fb7dd6326e1f431230e6601e8f8 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * | | Refine deprecation warning for QMetaProperty::isEditableVolker Hilsheimer2020-04-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following up on header review. Change-Id: I88553fdaa56364fe93e7eac5d2b062402c760be4 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | | macOS: Clean up header includes to use quotes or brackets as appropriateTor Arne Vestbø2020-04-1512-47/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The includes can be sorted and unified even more, but that's left for another rainy day. Change-Id: I4d5670d6d8389f69d2631b83b8f421d1f685a0f9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * | | Windows QPA: Fix geometry when firing a full exposeFriedemann Kleint2020-04-152-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are several places in the code where a full expose event is fired, but the geometry in logical coordinates is used (pre-dating High DPI scaling). Fix by introducing a helper function for it. Task-number: QTBUG-83449 Change-Id: Ie8bb306de0b9b2b85306ed1bb6ba71181b76a958 Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * | | OpenSSL: handle SSL_shutdown's errors properlyTimur Pocheptsov2020-04-155-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not call SSL_shutdown on a session that is in handshake state (SSL_in_init(s) returns 1). Also, do not call SSL_shutdown if a session encountered a fatal error (SSL_ERROR_SYSCALL or SSL_ERROR_SSL was found before). If SSL_shutdown was unsuccessful (returned code != 1), we have to clear the error(s) it queued. Fixes: QTBUG-83450 Change-Id: I6326119f4e79605429263045ac20605c30dccca3 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| | * | | Windows QPA: Fix showing translucent windows maximized/full screenFriedemann Kleint2020-04-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Translucent (layered) windows require an additional expose event. This was sent with the wrong size since the order of handleGeometryChange(), handleWindowStateChange() in handleResized was wrong. Fixes: QTBUG-83449 Change-Id: Iafd3fa8c0893aa28079201f73b7eb529087ba079 Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * | | Windows QPA: Fix restoring from fullscreen in High DPI setupsFriedemann Kleint2020-04-151-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic for checking whether the saved geometry (native pixels) is still within a screen compared them against logical coordinates. Work with the platform screen geometry instead. Fixes: QTBUG-83448 Change-Id: Ib68f967d1a33a490f88a7bec6dcc788788a10389 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * | | Deprecate QMacNativeWidget and QMacCocoaViewContainerTor Arne Vestbø2020-04-146-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I489870f97dcf7b54a4427ead3a9e627dd938f4ca Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * | | Fix deprecation warnings in QCocoaCursorVolker Hilsheimer2020-04-142-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Explicitly use the Qt APIs that return QPixmap and QBitmap by value, and fix the API taking those to use const references rather than pointers or const values. Change-Id: I2bb7ad1edb3b65f806f0475fca383e5b9bdb61f3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit b61ea367a5f8d07afda36b49b039b2375142d7f4) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * | | macOS: Replace foreach with ranged for loopsTor Arne Vestbø2020-04-149-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I9d0dbb60e05e4ef85219740465bb941ef8d8eb0f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | | QSettings: Read past UTF-8 BOM even without textcodec supportKai Koehne2020-04-141-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Try to read past an UTF-8 BOM even if no textcodec support is available, but do set the status to FormatError then. This is in line with the general 'best effort' approach in QSettings. It also allows qmake (that is built without textcodec support) to gracefully load qt.conf files with a UTF-8 BOM, though non-Latin1 characters might still be misrepresented. Fixes: QTBUG-83456 Change-Id: I31b45dc5a8adf7950910897a2b33ae16990d3818 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * | | Android: Only check for uri permissions when it is a file or contentAndy Shaw2020-04-141-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This amends f36b042e2b66a3ad32980b21e9fafc1bd9b0c7c1 to only check permissions for uris that are going to be local to the device itself. Other uris, such as http, https etc, should go through fine without a check. Change-Id: If05caadb6e0712d9db8f57185ef017d724d9e172 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
| | * | | macOS: Move translations to their respective source filesTor Arne Vestbø2020-04-147-192/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lupdate can deal with Objective-C++ sources nowadays, most likely due to appending them to SOURCES instead of the deprecated OBJECTIVE_SOURCES. Task-number: QTBUG-30125 Change-Id: Ifc6b06f13e0f679a011d999f11c2e6d25dcf27ed Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * | | QCborValue: fix the move-assignment operatorv5.15.0-beta4Thiago Macieira2020-04-111-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The double-swap technique I used was flawed and broke on self-assignment. What I had meant to use was the move-and-swap technique. Thanks to Peppe for pointing it out. This also fixes a compiler bug in the Green Hills compiler. It was finding the wrong "swap" function in qSwap: using std::swap; swap(value1, value2); It's supposed to find swap(QCborValue &, QCborValue &) due to argument- dependent lookup. It's instead finding std::swap<QCborValue>, which recurses. Fixes: QTBUG-83390 Change-Id: Ibdc95e9af7bd456a94ecfffd1603e1bee90cd107 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | | | | Use consistent vertical metrics on all platformsEskil Abrahamsen Blomfeldt2020-04-2210-119/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt assumes that ascent+descent is the bounding height of the text, but for historical reasons, the ascent for some fonts will not contain the diacritics. On Windows, the preference is to use data from the OS/2 table which were explicitly invented to work around this, but on other platforms we are not respecting this table. This causes a text layout that looks fine on Windows to have overlapping characters on e.g. macOS. To make vertical metrics (ascent, descent, leading) consistent across all platforms, we don't blindly trust the values we get from the underlying font system, but apply in the following order: 1. If OS/2 table exists and USE_TYPO_METRICS flag is set, we use the typo metrics from OS/2 table 2. If OS/2 table exists and USE_TYPO_METRICS flag is not set, we use winAscent/winDescent from OS/2 and the line gap from HHEA table. 3. If no OS/2 table exists, we try to get ascent, descent and line gap from the HHEA table. 4. If the HHEA table does not exist (not an SFNT), we fall back to the system-provided metrics. (on macOS, we know the system-provided metrics will match the data in HHEA, so we skip parsing that table and use the data from CoreText if there is no OS/2 table). Task-number: QTBUG-80554 Change-Id: I41e6561a99513698c8e42451b4ec98bd5eb6892f Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | | | | Windows QPA: Fix High DPI scaling not becoming active when changing scalingFriedemann Kleint2020-04-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When changing scaling from 100%, at which High DPI scaling is inactive, to something larger, High DPI scaling does not become active. Update the factors when screens are refreshed. Pick-to: 5.15 Task-number: QTBUG-77302 Task-number: QTBUG-77136 Task-number: QTBUG-82267 Change-Id: Iebbc29ced2f23af9db4d67839458848245e2db1d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>