summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add changes file for Qt 5.12.9v5.12.9Antti Kokko2020-06-111-0/+95
| | | | | Change-Id: I8dfebce4f5fa0eb888feed599f89759511b3fc34 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix to crash in QWindow::event when delete this called on closeEventMiika Pernu2020-06-102-2/+26
| | | | | | | | | | | | | | | Starting from Qt 5.11 QWindow::event is called after QDialog::closeEvent which would cause a crash if "delete this" was called on closeEvent. The commit that changed this was e0b5ff4ad583befbecbcbe462998e3ed80899531. Added a check before QWindow::event call utilizing QPointer to prevent the function call in case object is destroyed by a user in close event handler. Change-Id: I64a4a0f3271714e55bf7e806177f0d8b39b67fa3 Fixes: QTBUG-84222 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 036c3c19e7da5f1a280750d3c68a0cff38678029) (cherry picked from commit 710777d5d32ef13f2037cfe58e40ff2343355759) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: Respect window type when determining main window statusTor Arne Vestbø2020-06-101-4/+2
| | | | | | | | Fixes: QTBUG-84405 Change-Id: I3fc6b15b07a81e7e7e417a5767c2853083c13516 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 1cd7cbf6179692fc824dc3ba15580372493a4355) Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Merge 5.12 into 5.12.9Paul Wicking2020-06-058-2137/+3075
|\ | | | | | | Change-Id: I604e23045b115966e06d966f25724b3f72b313d8
| * sqlite: Upgrade to 3.32.1Andy Shaw2020-06-045-2134/+3057
| | | | | | | | | | | | | | | | | | | | | | The patches applied are now removed as they are all included in v3.32.1 [ChangeLog][QtSQL][sqlite] Upgraded to v3.32.1 Change-Id: Ib5b26fb36d7ca49c1108a96097a48fe5b797f291 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 915549f6ed02581242cb98c474a622288ca0fb35) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * QVncScreen: fix crash on disconnect client did not request cursorRolf Eike Beer2020-06-041-0/+3
| | | | | | | | | | | | | | Change-Id: I758c79d87bd239b6fde9bae4e97c5b31450fa813 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit c4b172b7f0158fccf6d0ac1a72081d0749410b1b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
| * Do not fully initialize QIconLoader when setting the fallback themeAlbert Astals Cid2020-06-032-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need this because without this patch you get bugs both if you call QIcon::setFallbackThemeName before creating the QGuiApplication and if you call QIcon::setFallbackThemeName after creating QGuiApplication Why do you get a bug if you call QIconLoader::setFallbackThemeName before creating the QGuiApplication: * QIcon::setFallbackThemeName calls QIconLoader::instance * QIconLoader::instance calls QIconLoader::ensureInitialized * QIconLoader::ensureInitialized calls systemThemeName * systemThemeName asks the current QPlatformTheme for its QPlatformTheme::SystemIconThemeName * But since we're calling this before creating the QGuiApplication there is no current QPlatformTheme yet, so systemThemeName is set to empty, which is obviously not what we want Why do you get a bug if you call QIconLoader::setFallbackThemeName after creating the QGuiApplication: * QGuiApplicationPrivate::init calls QGuiApplicationPrivate::createPlatformIntegration * QGuiApplicationPrivate::createPlatformIntegration sets the current QPlatformTheme and at the end of the very same function uses QIcon::fromTheme * Since we haven't called QIconLoader::setFallbackThemeName yet there is at least one icon lookup that doesn't take the fallback theme we would like to have into account This patch makes it so calling QIconLoader::setFallbackThemeName before creating the QGuiApplication works. The only thing we want to do from QIcon::setFallbackThemeName is set the internal m_userFallbackTheme, it doesn't care about doing further initialization of QIconLoader, if it's done, great it's done, if it is not initialized yet, great it will be initialized later when someone actually tries to use the QIconloader. So it's OK for ensureInitialized() to return early if there is no platform theme yet, because it will be called again later. Fixes: QTBUG-74252 Change-Id: I65268fc3d3d0bd282d76c76cf75e495bcc9d1a30 Done-with: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit add92a551cf601b5c9e074046326f95ccc38062e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* | Update the qt_attribution.json for SQLiteAndy Shaw2020-06-051-2/+2
|/ | | | | | | | | | This got forgotten when SQLite was upgraded to v3.32.1, so this amends e10e989ce83027f2f620bb6948be4948f3c91e76 Change-Id: I75799b6c55bc39c4cc050b5eb18a99d9f197410c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 542e7da817b1b0204ab6e8fdac802949e161cce5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* bmp/ico decoder: fail early for unsupported bit depthsEirik Aavitsland2020-06-022-2/+10
| | | | | | | | | | | All the normal bit depths are supported, so no point in trying to go through the decoding code path for others. Avoids wide bitshift warning for claimed depths > 32. Change-Id: I61b72dbbf9558ca28db46f8168339f8174e56997 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 6a2224fd58414a78957104dd654f697c4b2eaa1d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* gif image handler: check for out of range image sizeEirik Aavitsland2020-06-021-0/+13
| | | | | | | | | | Make the decoder fail early to avoid spending time and memory on attempting to decode a corrupt image file. Change-Id: Ic556d4fbcb6b542fc110d10e48dac1a880e60697 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 2b7b75f721b6786a6dc35e2f9b693bb2e2dfac01) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Gif decoder: avoid undefined values in enumEirik Aavitsland2020-05-301-1/+2
| | | | | | | | | | The gif standard allocates 3 bits for the disposal method, but values 4-7 are unused. Change-Id: I0f70b3f87b4cd8e98140c3da476702a22ebe93a9 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 30571068b203a9d950030b31ee84f08f2f6fc04d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Protect global variable g_pointIdMap with mutexesRainer Keller2020-05-262-0/+7
| | | | | | | | | | | | | | | The evdev touch handler is thread based and calls QWindowSystemInterface::handleTouchEvent. The global variable in qwindowsysteminterface.cpp is used without being protected by mutexes which causes data loss and crashes when multiple touch screens are used. Fixes: QTBUG-63584 Change-Id: I8b5bb04cc517fab96ac428b2bd2bc128b2ca1a54 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 23d73208524d3ab2166121d08594da88e6b4460b) Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Direct Write Font Engine: Fix leaking IDWriteFontFace instancesFriedemann Kleint2020-05-201-2/+3
| | | | | | | | | | Patch as contributed on bug report. Fixes: QTBUG-84265 Change-Id: I73d73cf7d1b46944767750bf0f0c727c7b00b1d7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 26100ccb83ec9c4a2ee192170f1952956dd569d1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QLinkedListData: Move Q_CORE_EXPORT from class to shared_nullThiago Macieira2020-05-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This makes no difference for the IA-64 C++ ABI nor for MSVC until MSVC 2019 16.6. But it does with 16.6, where the std::atomic constructor becomes non-trivial, which makes QtPrivate::RefCount non-trivial, which makes QLinkedListData non-trivial. Before this change: User code \ Qt MSVC <=16.5 MSVC >=16.6 MSVC <=16.5 works works MSVC >=16.6 fails works With this change, they should all work. The list of symbols exported should not change either, so linking against a Qt compiled with MSVC <=16.5 should continue to work. [ChangeLog][MSVC] Fixed a compatibility issue found when linking code compiled with version 16.6 to a Qt compiled with 16.5. Fixes: QTBUG-81727 Change-Id: If79a52e476594446baccfffd15ee771397467f8b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> (cherry picked from commit 7af5619836cb3bd2eca87fd10b81674c9e201e76) Reviewed-by: Simon Hausmann <hausmann@gmail.com>
* Windows: Update the hasFrame setting when changing window flagsAndy Shaw2020-05-191-0/+1
| | | | | | | | | | | | Since changing the window flags can make it frameless or have a frame then it should ensure that the hasFrame setting is updated accordingly when the window flags do. Change-Id: I7bf4995d7967623b117426d8750e63fa97967e2c Fixes: QTBUG-84029 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 60ec350bc79d562c0611bc31e8655729272c31d6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QNetworkReply: Fix SSL configuration handlingFriedemann Kleint2020-05-182-4/+7
| | | | | | | | | | | | | Use QT_CONFIG consistently and enclose sslConfigurationImplementation(), setSslConfigurationImplementation() and ignoreSslErrorsImplementation() within QT_CONFIG as well. This enables a build of Qt for Python with -no-feature-ssl. Fixes: PYSIDE-1302 Change-Id: Ia699293ab73a5dc86d8dcf95aa5f6369334d36a2 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 5436a6f3e0a9e7ef7ed51fc5b304e1f81eaed960)
* Fix llvm-strip/readobj parametersBogDan Vatra2020-05-181-2/+2
| | | | | Change-Id: I3add593d8ad8791d694f157849e72dd26a6dc4ca Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Avoid format conversion in backing store texture uploadAllan Sandfeld Jensen2020-05-151-43/+49
| | | | | | | | | | Use glPixelStorei where possible Fixes: QTBUG-84189 Change-Id: Iadf039b5c6d8e7b6bb11d031a94683343dee0dc6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 01b2ea83aa0e8e1d624f6c25d78bb5184cd35483) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix crash when running QtCore: Stack is misaligned on x86-64Thiago Macieira2020-04-301-1/+5
| | | | | | | | | | | When our ELF entry point function is started by the kernel, the stack is aligned at 16 bytes. However, the stack is expected to be off by 8, due to a preceding CALL instruction which didn't exist. This cauases a crash further down as the compiler may generate aligned stack access. Change-Id: I1496b069cc534f1a838dfffd15c9dc4ef9e3869e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (cherry picked from commit 932805807123833bb8f5ae9abda7e946f48d9f0c)
* Always open a submenu on the same screen where the parent menu isShawn Rutledge2020-04-271-2/+11
| | | | | | | | | | | | We've seen submenus opening on different screens in different scenarios, but probably there's never a sensible reason to do that. QWidgetPrivate::setScreenForPoint() can often give incorrect results in multi-screen desktop configurations; this is a way of avoiding that. Task-number: QTBUG-76162 Change-Id: I895696c6858ad953258c84b21117beea4c4fc01d Reviewed-by: Andy Shaw <andy.shaw@qt.io> (cherry picked from commit c068edcecf6876c7b57abbe302ad8b1347e4445e)
* Bump versionAlexandru Croitor2020-04-221-1/+1
| | | | Change-Id: Ib39025190448a4292cc278cdda536824bf1ab560
* sqlite: Fix CVE-2020-11656Andy Shaw2020-04-212-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> (cherry picked from commit 3e6089b695489d5ba513723230a54b4b5e8349ae)
* sqlite: Fix CVE-2020-11655Andy Shaw2020-04-212-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> (cherry picked from commit 441ea6be15f68f46ecee2365a7e7ee7dd6f11ff3)
* OpenSSL: handle SSL_shutdown's errors properlyTimur Pocheptsov2020-04-176-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) (cherry picked from commit 8ddffc6ba4f38bb8dbeb0cf61b6b10ee73505bbb)
* macOS: Fix CONFIG+=separate_debug_info for custom QMAKE_BUNDLE_EXTENSIONJoerg Bornemann2020-04-151-2/+10
| | | | | | | | | | | The code that sets up QMAKE_RESOLVED_BUNDLE did not take QMAKE_BUNDLE_EXTENSION into account. The logic is the same as in UnixMakefileGenerator::init(). Fixes: QTBUG-83222 Change-Id: I8fc4f16b399303394f2106e5c1071347ace93d4a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 12d5608a2521bd10313b44c6c56d68b9a0a680cc) Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Fix path replacement on install for header module prl filesJoerg Bornemann2020-04-151-1/+2
| | | | | | | | | | | | | | For prefix builds the prl files of header modules still contained the absolute path of the install prefix instead of $$[QT_INSTALL_LIBS]. This was, because the QMAKE_PRL_INSTALL_REPLACE variable was only filled for 'lib' TEMPLATE projects. Header modules, however, have the 'aux' template. Fixes: QTBUG-82871 Change-Id: I90f248967f1bff41423d871a977ae91c78015bbd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 2bf5e2edbb67d6bc0ad021f79c2ff3939a174669) Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.12.8' into 5.12"Qt Forward Merge Bot2020-04-1410-90/+268
|\
| * Merge remote-tracking branch 'origin/5.12.8' into 5.12Qt Forward Merge Bot2020-04-1410-90/+268
| |\ | | | | | | | | | Change-Id: I3c060326bf24f31dda0fd6dd9ebf278da4c2fe46
| | * Handle exceptions when accessing android clipboardv5.12.8Mike Achtelik2020-03-311-50/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some circumstances android throws an exception or returns null, when trying to access the clipboard. Fixes: QTBUG-80689 Change-Id: I92c134e2a002fc648ff966e15a19eb3307c428a1 Reviewed-by: BogDan Vatra <bogdan@kdab.com> (cherry picked from commit 287b570ad5c00eb491f86eab0c4b8d3f6d96f666) Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Add changes file for Qt 5.12.8Antti Kokko2020-03-311-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I22227e4e671e509d6208f30220c00f026a09eb13 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Fix build with macOS 10.15 and deployment 10.12André Klitzing2020-03-311-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | io/qfilesystemengine_unix.cpp:1420:9: error: 'futimens' is only available on macOS 10.13 or newer [-Werror,-Wunguarded-availability-new] if (futimens(fd, ts) == -1) { ^~~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/stat.h:396:9: note: 'futimens' has been marked as being introduced in macOS 10.13 here, but the deployment target is macOS 10.12.0 int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0)); ^ io/qfilesystemengine_unix.cpp:1420:9: note: enclose 'futimens' in a __builtin_available check to silence this warning if (futimens(fd, ts) == -1) { ^~~~~~~~ Change-Id: Ib52adf7b1ec4f1057d8cb260a00da509429cfaed Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 2f030c2cf3fe368be217c0e0b157e050d1c27afc)
| | * iOS: Remove assert when doing GL rendering in the backgroundTor Arne Vestbø2020-03-311-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-76961 Change-Id: If2212601dbb867dd7ceb826b867bb24d302f86df Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit b7aaee002677caf411190bbc6ea7f18a28a71360)
| | * Pass SDK root to the linker as -isysroot, not -Wl,-syslibrootTor Arne Vestbø2020-03-312-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The former option to clang will result in more options to the linker, such as the newly introduced -platform_version, which writes the SDK version to the resulting binary. By using the syslibroot flag directly we were missing the platform version, and binaries were left without an SDK version set, resulting in failed validation of the binary. Going with the clang driver gives us the right behavior for free. Fixes: QTBUG-83100 Change-Id: I98bc9ba644dae4bcc7a6a88481556bae185ce5fa Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Add an expansion limit for entitiesLars Knoll2020-03-253-4/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recursively defined entities can easily exhaust all available memory. Limit entity expansion to a default of 4096 characters to avoid DoS attacks when a user loads untrusted content. [ChangeLog][QtCore][QXmlStream] QXmlStreamReader does now limit the expansion of entities to 4096 characters. Documents where a single entity expands to more characters than the limit are not considered well formed. The limit is there to avoid DoS attacks through recursively expanding entities when loading untrusted content. Qt 5.15 will add methods that allow changing that limit. Fixes: QTBUG-47417 Change-Id: I94387815d74fcf34783e136387ee57fac5ded0c9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit fd4be84d23a0db4186cb42e736a9de3af722c7f7) Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * macOS: Flush sublayers via separate IOSurface backingstoresTor Arne Vestbø2020-03-252-25/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Flushing sublayers via QImage copies of the root IOSurface was causing performance regressions due to the constant allocations of new images each frame. We now re-use the QCALayerBackingStore implementation for sublayers, which gives a dynamic swap-chain. We're still paying the CPU cost of the copy from the root backingstore to the layered backingstores, as well as the memory cost, but at least improves the situation. We do not try to be smart and paint directly into the sublayers, as that would leave the root backingstore stale, potentially causing glitches when views are repositioned. Investigating this is left for future work. Fixes: QTBUG-82986 Change-Id: I758a3d8e1e40e2ed4fe6bc590a4a5a988d87a3a7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | Refactor OpenWFD QPA plugin for INTEGRITY Snapdragon 820 ADPKimmo Ollila2020-04-142-53/+65
|/ / | | | | | | | | | | | | | | Add wfdBindSourceToPipeline call to enable vsync and also call OpenWFD resource cleanup APIs in destroyNativeWindow. Change-Id: I5dd5cbf66c0863624ec848f11a32c232fbe32cff Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
* | CBOR support: prevent overflowing QByteArray's max allocationThiago Macieira2020-04-109-51/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QByteArray doesn't like it. Apply the same protection to QString, which we know uses the same backend but uses elements twice as big. That means it can contain slightly more than half as many elements, but exact half will suffice for our needs. Change-Id: Iaa63461109844e978376fffd15f9d4c7a9137856 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (cherry picked from commit 783d574b932288b61f915b28d5b7b9c5a979f58e) Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | QCborValue: apply a simple optimization to avoid unnecessary allocationsThiago Macieira2020-04-102-28/+29
| | | | | | | | | | | | | | | | | | | | | | If the map or array is known to be empty, we don't need to allocate a QCborContainerPrivate. Change-Id: Ief61acdfbe4d4b5ba1f0fffd15fe212b6a6e77c3 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit f581b041199ba7c825fbffd9110727360d1f2668) Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | QCborValue::fromCbor: Apply a recursion limit to decodingThiago Macieira2020-04-103-13/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A simple 16k file can produce deep enough recursion in Qt to cause stack overflow. So prevent that. I tested 4096 recursions just fine on my Linux system (8 MB stack), but decided 1024 was sufficient, as this code will also be run on embedded systems that could have smaller stacks. [ChangeLog][QtCore][QCborValue] fromCbor() now limits decoding to at most 1024 nested maps, arrays, and tags to prevent stack overflows. This should be sufficient for most uses of CBOR. An API to limit further or to relax the limit will be provided in 5.15. Meanwhile, if decoding more is required, QCborStreamReader can be used (note that each level of map and array allocates memory). Change-Id: Iaa63461109844e978376fffd15fa0fbefbf607a2 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 02d595946faa7a21f6aa4109227f7e90db20ae7a) Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | QCborValue: create a wrapper to set the QCborStreamReader error stateThiago Macieira2020-04-102-6/+12
| | | | | | | | | | | | | | | | | | | | The next commit will need to do so from outside QCborContainerPrivate, where QCborStreamReader::d can't be accessed (private). Change-Id: Iaa63461109844e978376fffd15fa0f6f04081bf2 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit b7da66132bdd196c4f0b0e0fdf53f9e3b9a8bdaf) Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Doc: Adjust offline style for the litehtml rendering engineTopi Reinio2020-04-032-20/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt Creator now has the option to use the litehtml backend as a replacement for the QTextBrowser-based help viewer. Fix a few issues that the offline style has with the litehtml renderer: - Fall back to using an unordered list for the navigation bar. - Remove the background image for #buildversion and adjust font size. - Adjust the generated padding around code snippets. Keep the script that switches the offline-simple.css style to the full offline style (offline.css) for JavaScript-enabled browsers. The litehtml backend in Qt Creator will handle this switch internally. With these changes, the generated offline documentation looks acceptable when rendered with QTextBrowser, litehtml, or desktop web browsers. Fixes: QTBUG-82567 Change-Id: I86b179b1985b7ef54feddab30cb227b28021efe5 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> (cherry picked from commit 0b5a1100ff5ab4fb696e0efc9bc5e8f266cf40ae) Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Windows QPA: Prospective fix for crash occurring when changing screen during ↵Friedemann Kleint2020-04-021-2/+3
| | | | | | | | | | | | | | | | | | | | | | session lock Check on currentScreen in QWindowsWindow::checkForScreenChanged(). Fixes: QTBUG-80436 Change-Id: I19e34b9e2c32c9cfc8e5e5b758783c0ab89d5556 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> (cherry picked from commit 6c23f006e07b774b0eef863cccd36a992274ca32)
* | Fix build with macOS 10.15 and deployment 10.12André Klitzing2020-03-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | io/qfilesystemengine_unix.cpp:1420:9: error: 'futimens' is only available on macOS 10.13 or newer [-Werror,-Wunguarded-availability-new] if (futimens(fd, ts) == -1) { ^~~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/stat.h:396:9: note: 'futimens' has been marked as being introduced in macOS 10.13 here, but the deployment target is macOS 10.12.0 int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0)); ^ io/qfilesystemengine_unix.cpp:1420:9: note: enclose 'futimens' in a __builtin_available check to silence this warning if (futimens(fd, ts) == -1) { ^~~~~~~~ Change-Id: Ib52adf7b1ec4f1057d8cb260a00da509429cfaed Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | xcb: Add support for XdndActionList propertyAlexander Volkov2020-03-264-7/+118
| | | | | | | | | | | | | | | | | | | | | | This allows to pass and receive possible drop actions from other processes, including GTK applications. Fixes: QTBUG-75744 Change-Id: I944edc6fa00f8801a25912e70eb104a647a9fc0e Reviewed-by: JiDe Zhang <zccrs@live.com> Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit cc1d891b8ed1c4f23183e4b06f46e5840a993e35)
* | Add option to select build target for IntegrityJanne Koskinen2020-03-251-2/+10
| | | | | | | | | | | | | | | | | | | | From 11.7.6 onwards you need to select if your build is rel/dbg/chk/cov. Added env variable where you can add which build target to configure. Task-number: QTBUG-74716 Change-Id: I9ab3dd6177c5c5fa1da6aa7556784fa86d0d0348 Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* | Add missing libraries for S820 reference boardJanne Koskinen2020-03-251-1/+1
|/ | | | | | | | New BSP requires additional libraries Change-Id: Ic5c3286751c4bd12113dad261037e03f3b2fd12f Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* q_getTimeFromASN1: fix invalid accessTimur Pocheptsov2020-03-191-1/+17
| | | | | | | | | | No sanitizer is needed, just looking at the code is enough. It was wrong. Change-Id: I9df417c137d6b3361c3161865e099a8be40860de Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit ad68ecf1d967f8e60c19c28a2bc23daf15389076)
* Try to stabilize flaky test cases of tst_qsequentialanimationgroupSona Kurazyan2020-03-121-4/+3
| | | | | | | | Use QTRY_COMPARE in the flaky tests instead of waiting. Change-Id: Ic18fc5fde3fa47f3b3ef21e6acd876bd6990981d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 0ae6803d3956cf59801bbcc52143b95de9fc96d1)
* Fix 'out of process' autotestsTimur Pocheptsov2020-03-121-28/+54
| | | | | | | | | | | | | | We are, arguably, not testing QProcess and its ability to start or finish, we test QUdpSocket. If, for some reason (as we discovered on some specific machines recently) the process does not start or does not produce any output (canReadLine), we QSKIP instead of failing. Also, all those QCOMPARE will bypass the part there we stop processes - so must be RAII-protected. Fixes: QTBUG-82717 Change-Id: Idfb0d4a483d753f336b3827875eeaf51c79270e2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit c668fd940d0c610324254d5aa5aab6e0769f78a6)
* TCP socket auto-test: reduce flakynessTimur Pocheptsov2020-03-121-4/+13
| | | | | | | | | | | | | | | increaseReadBufferSize has several cases, surprisingly, subsequent runs can be affected by close notification from the previous tests, and then they ... break the expected logic test (by resetting read buffer size and trying to read as much as possible). Ah, and as it often happens with our auto-test - a client socket leaked if some of COMPARE/VERIFY failed. unique_ptr to rescue. Fixes: QTBUG-82776 Change-Id: I9dc79072fdefc08417274dc341b88fca70c54dae Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>