summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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)
* Add an expansion limit for entitiesLars Knoll2020-03-252-2/+26
| | | | | | | | | | | | | | | | | | | | 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>
* 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)
* Fix CVE-2020-9327 in SQLiteAndy Shaw2020-03-092-9/+225
| | | | | | | | | | This was taken from abc473fb8fb99900 in SQLite, ref: https://www.sqlite.org/cgi/src/info/abc473fb8fb99900 Fixes: QTBUG-82533 Change-Id: I9840e29f19a0b861229987f5b59d8585ba2e55dc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> (cherry picked from commit 2c1b4e37b936f64d6b52e2bc10ff97184a714b9a)
* xcb: Fix logic for minimized stateJiDe Zhang2020-03-094-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When _NET_WM_STATE_HIDDEN is not contains in the _NET_WM_STATE window property, the window should not be considered to be minimized According to https://specifications.freedesktop.org/wm-spec/1.3/ar01s05.html _NET_WM_STATE_HIDDEN should be set by the Window Manager to indicate that a window would not be visible on the screen if its desktop/viewport were active and its coordinates were within the screen bounds. The canonical example is that minimized windows should be in the _NET_WM_STATE_HIDDEN state. Pagers and similar applications should use _NET_WM_STATE_HIDDEN instead of WM_STATE to decide whether to display a window in miniature representations of the windows on a desktop. For mutter/GNOME Shell, without _NET_WM_STATE_HIDDEN, window manager will not reply XCB_ICCCM_WM_STATE_ICONIC settings in WM_CHANGE_STATE client message. Task-number: QTBUG-76147 Task-number: QTBUG-76354 Task-number: QTBUG-68864 Done-With: Liang Qi <liang.qi@qt.io> Change-Id: Ic9d26d963979b7f0ef4d1cf322c54ef8c40fa004 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 4f370d36ec5caa02f78545ceee5704d94edf0530)
* Fix QShaderGenerator ES 3+ version declarationPaul Lemire2020-03-091-1/+1
| | | | | | | | The QShaderGenerator would use #version 300 es even if ES 3.1 or 3.2 was specified. Change-Id: I2296ce8e01c732dd64dc1db40caeae83520bd3d3 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* QShaderGenerator: Allow more expressions in input nodesNicolas Guichard2020-02-281-6/+3
| | | | | | | | | | | | | | | | | | | Currently QShaderGenerator will crash when encountering some expressions in input nodes. For example, this node prototype would make it crash: "VERTEX_COLOR": { "outputs": ["color", "alpha"], "rules": [ "headerSnippets": ["in vec4 vertexColor;"], "substitution": "vec3 $color = vertexColor.rgb; float $alpha = vertexColor.a;" ] } Change-Id: I37abb8099d376843a4cb13228140467dc1b8f60c Reviewed-by: Paul Lemire <paul.lemire@kdab.com> (cherry picked from commit f9086ebd0198c53e8a811af47e0ff0c84d78eb30)
* Replace usage of std::result_of with decltypeMårten Nordheim2020-02-221-1/+1
| | | | | | | | | It's slated for removal in c++20 Fixes: QTBUG-82240 Change-Id: I7b35c151413b131ca49b2c09b6382efc3fc8ccb6 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit fb6acf08bbd7a68d027282251747620b942bd1d6)
* QShaderGraph: don't generate statements with undefined inputsNicolas Guichard2020-02-211-0/+47
| | | | | | | | | | | | | | | | This fixes the shader generation for graphs like this one: Function0 ------> Output0 (with unbound input) Input ------> Function1 ------> Output1 With those graphs, createStatements will not return any statement for nodes Function0 and Output0. Change-Id: Iec32aa51623e176b03ae23e580f06d14df80a194 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> (cherry picked from commit 7981dbfaf371a368fbd69e935768b310f42a0e5a)
* QShaderGenerator: Don't crash when a node has multiple outputsNicolas Guichard2020-02-211-28/+39
| | | | | | | | | | | | | | | | | | | | | | | It was already possible to declare a node prototype with multiple outputs, but trying to assign to all those outputs was not possible and instead resulted in a crash. It is now possible to declare nodes like this without crashing: "SEPERATE_XYZ": { "inputs": ["vector"], "outputs": ["x", "y", "z"], "rules": [ { "substitution": "float $x = $vector.x; float $y = $vector.y; float $z = $vector.z;" } ] } Change-Id: I748e77e84c9120dc688c573eee33dc13c6bfbace Reviewed-by: Paul Lemire <paul.lemire@kdab.com> (cherry picked from commit 39994e0705f11afc45e20872b95fb3a6e684c913)
* Fix QShaderGenerator crashing when a node port name prefixed another oneNicolas Guichard2020-02-201-3/+39
| | | | | | | | | | | | | | | QShaderGenerator didn't handle substitutions like `vec4 $color = mix($color1, $color2, $fac);` Note that `$color` is a prefix to `$color1` and `$color2`. For the substitution `QByteArray::replace` was used so if `$color` was handled first and replaced by `v1`, `$color1` and `$color2` were never correctly replaced and instead became `v11` and `v12` which caused a crash later on. Change-Id: Idaf800fdac468f33c323eb722701da5f8eb918d6 (cherry picked from commit 49dbe760e4e0d8a781b5336efdce4748a7d73a33) Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QShaderGraph: Fix statement creation for graphs with dangling branchesNicolas Guichard2020-02-181-5/+12
| | | | | | | | | | | | | | | | | | For graphs like this one: Input ----> Function1 ----> Output \ ---> Function2 (unbound output) We would have generated only 2 statements, for Function1 and Output. This change fixes this by treating Function2 like an output. Therefore it generates 4 statements: Input, Function1, Output and Function2. Change-Id: Iaada40b9b949d771806dd47efad4f7ef2a775b48 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* macOS: Skip NSOpenGLContext flush if window exposed size is out of syncTor Arne Vestbø2020-02-171-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | Some clients such as QOpenGLWidget will end up drawing and flushing during the resize event, which for GL will result in an immediate update on the screen. The problem is that the underlying Core Animation layer, and the window's frame, has not been visually updated yet to the new size, so we end up drawing "ahead" of what the window server is showing the user. Ideally we'd be able to present the GL drawing in a transaction, in sync with the drawing of the window frame, but this API is only available for CAMetalLayer and CAEAGLLayer. As a workaround we detect when the exposed size is out of sync with the window geometry, and skip the flush until the exposed size has caught up. We know this will happen eventually as AppKit will always ask us to display after a resize. Change-Id: I1739ac8878b3fc6820a55dd017ddd170fd5f55d6 Fixes: QTBUG-79139 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit f39230fcac4de01f26945bde16c3a10c5ac74afb) Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Tag sub-layer images with color space on flushTor Arne Vestbø2020-02-121-1/+2
| | | | | | | | | | Failing to tag the image results in costly CPU-based color-space conversions. Change-Id: Ib65547f4b99b83e10d3603c27388f50eb4d3840c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit c3c5a58f654537059366ecd3fe9811716bc202d2) Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Android: release semaphore when the pending runnable causes an exceptionKonstantin Ritt2020-02-121-2/+5
| | | | | Change-Id: Ide727dd5ceb987bdd4a093e6ee4f9c6b980f5ded Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* sqlite: Update to v3.31.1Andy Shaw2020-02-119-5724/+9005
| | | | | | | | | | | Since the patches applied previously are no longer required, we have removed those too. [ChangeLog][QtSQL][sqlite] Updated to v3.31.1 Change-Id: Ia80c31683a8cf92cfd114b6da32460ddcf38d502 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit eb45c37be7e32a20612b23f54a830ea0c4db7119)
* QXmlStreamReader: early return in case of malformed attributesGiuseppe D'Angelo2020-02-101-2/+5
| | | | | | | | | There's no point at keep raising errors after encountering the first malformed attribute. (cherry picked from commit 4d8a515a230ca9864a94830fd376a1d3ecbe6886) Change-Id: I1c5e8caf92b09c91ec8c37eb72c72f2f937013e6 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QLockFile: Disable flock() on QNXThiago Macieira2020-02-101-0/+6
| | | | | | | | | | | | | | | | It appears it's not implemented. [ChangeLog][QtCore][QLockFile] Suppressed the warning on QNX that said 'setNativeLocks failed: "Function not implemented"'. There is no difference in behavior: Qt will continue not to be able to apply an OS- level file lock, which means the lock could be accidentally stolen by buggy software. Correct software using QLockFile should not be affected. Fixes: QTBUG-81701 Change-Id: If79a52e476594446baccfffd15ee35bbac6c6e47 Reviewed-by: David Faure <david.faure@kdab.com> (cherry picked from commit 9ede07613dc5b7759f398d5a8839b2ffdb4675a2) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix symbol resolving for OPENSSL_NO_NEXPROTONEGTimur Pocheptsov2020-02-071-4/+4
| | | | | | | | | | | | | Our ALPN-related definitions were conditioned both on OPENSSL_NO_NEXTPROTONEG and OpenSSL version (since ALPN first was introduced in 1.0.2), but resolving was only under version check, not OPENSSL_NO_NEXTPROTONEG. This went unnoticed for many years, and was found only recently with OpenSSL built with no-nexprotoneg. Fixes: QTBUG-81762 Change-Id: I7afca0b2034a234a19b5bcdefd3ce26f4202cddb Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit e5408b62bdcee1abbc595eb581abcb540396ca4c)
* Fix build: disable the HWRNG in bootstrapped modeThiago Macieira2020-02-041-1/+1
| | | | | | | | | | | qmake build fails: qrandom.o: in function `QRandomGenerator::SystemGenerator::generate(unsigned int*, unsigned int*)': /home/tjmaciei/src/qt/qt5/qtbase/src/corelib/global/qrandom.cpp:333: undefined reference to `qRandomCpu(void*, long long)' Fixes: QTBUG-78937 Change-Id: Ib5d667bf77a740c28d2efffd15cb4236f765917c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (cherry picked from commit 4f88e0bbd1c014adc6db7a37e4754446c4c8f529)
* Merge remote-tracking branch 'origin/5.12.7' into 5.12Qt Forward Merge Bot2020-01-317-7/+58
|\ | | | | | | Change-Id: Ie152ac565d56ca4ae29998ee034ba4b8b5b8e234
| * Fix CVE-2019-19880 in SQLiteAndy Shaw2020-01-242-0/+32
| | | | | | | | | | | | | | Fixes: QTBUG-81565 Change-Id: I6bf2364e696315e5262d1abfa2f0b6947f14a33b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit f59ef938ce384b80819bcea660cf8626ff1789e7)
| * QLibrary/Unix: do not attempt to load a library relative to $PWDThiago Macieira2020-01-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I added the code in commit 5219c37f7c98f37f078fee00fe8ca35d83ff4f5d to find libraries in a haswell/ subdir of the main path, but we only need to do that transformation if the library is contains at least one directory seprator. That is, if the user asks to load "lib/foo", then we should try "lib/haswell/foo" (often, the path prefix will be absolute). When the library name the user requested has no directory separators, we let dlopen() do the transformation for us. Testing on Linux confirms glibc does so: $ LD_DEBUG=libs /lib64/ld-linux-x86-64.so.2 --inhibit-cache ./qml -help |& grep Xcursor 1972475: find library=libXcursor.so.1 [0]; searching 1972475: trying file=/usr/lib64/haswell/avx512_1/libXcursor.so.1 1972475: trying file=/usr/lib64/haswell/libXcursor.so.1 1972475: trying file=/usr/lib64/libXcursor.so.1 1972475: calling init: /usr/lib64/libXcursor.so.1 1972475: calling fini: /usr/lib64/libXcursor.so.1 [0] Fixes: QTBUG-81272 Change-Id: I596aec77785a4e4e84d5fffd15e89689bb91ffbb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit e6f1fde24f77f63fb16b2df239f82a89d2bf05dd) Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * QWidget: React to platform surface being created or destroyedTor Arne Vestbø2020-01-231-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The platform window may create or destroy its surface from other entry points than the QWidget API, in which case QWidget needs to sync up its own state to match. In particular WA_WState_Created and the winId needs to be recomputed. Fixes: QTBUG-69289 Fixes: QTBUG-77350 Fixes: QTBUG-80859 Change-Id: I769e58ead3c2efcf8c451c363108848feade9388 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 009abcd7b66738bece6cf354776dfb2ef401636b) Reviewed-by: Liang Qi <liang.qi@qt.io>
| * Merge 5.12 into 5.12.7Kari Oikarinen2020-01-235-8/+80
| |\ | | | | | | | | | Change-Id: Ibc8bb93b238b79c7beacbb69ed2f691333af3af4
| * | Bump copyright yearJani Heikkinen2020-01-203-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I9468ef21a2cf03cf07c38f012a2aa9bae6d02a03 Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 1e42c97cf055ac20352d20150e2786c14565ea2b) Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
* | | Fix qt5_make_output_file macro for paths containing dotsJoerg Bornemann2020-01-291-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 89bd5a7e broke CMake projects that use dots in their build paths, because the used regular expression matches the directory part of the path as well. The regex wants to achieve the same as get_filename_component(... NAME_WLE) which is available since CMake 3.14. Re-implement the NAME_WLE functionality for older CMake versions by using multiple get_filename_component calls. Fixes: QTBUG-81715 Task-number: QTBUG-80295 Change-Id: I2ef053300948f6e1b2c0c5eafac35105f193d4e6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Un-deprecate QSignalMapperSona Kurazyan2020-01-232-8/+4
| |/ |/| | | | | | | | | | | | | | | | | | | From the comments on QTBUG-73407 and the last comments on 29bcbeab90210da80234529905d17280374f9684, it seems like there are still use-cases when QSignalMapper is useful. Change-Id: I8402286cb8a395a4601cda8a4cdda51f19aef073 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit b6688a4d4939b15713ffd8702253433032879fcb)
* | eglfs: find correct framebuffer index even if device node is symlinkRolf Eike Beer2020-01-221-1/+7
| | | | | | | | | | | | | | | | | | | | | | Using the Vivante driver on a board with different device trees I found the need to let udev point me to the framebuffer actually connected to HDMI by adding a symlink. Since the extraction of the framebuffer index failed and always returned 0 the GUI still always showed up on the first framebuffer. Change-Id: Ib4aa0fdd6e85d296c17fd977921cbc78e52dcdcf Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit dd23313d66846022894b56ad25b6c2c0fdb54762)
* | Fix CVE-2019-19646 in SQLiteAndy Shaw2020-01-212-1/+32
| | | | | | | | | | | | | | Task-number: QTBUG-81020 Change-Id: I7176db20d4a44b1fb443a6108675f719e9643343 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 3b697f496303bd005ae9d1d2c974efeed259d8a3)
* | Add touch input device mapping support via QT_QPA_EGLFS_KMS_CONFIGPasi Petäjäjärvi2020-01-182-6/+41
|/ | | | | | | | To be feature parity with evdev touch which already supports this Change-Id: Ie7f9c868ea888725b24c3855106e1c0c0ba943a9 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 6224130cc821b0ef0dbdda80837e872c7996b916)
* QObject: make the connectedSignals member use QAtomicIntegerThiago Macieira2020-01-152-6/+7
| | | | | | | | | | | | | | | The bitfield is always mutated under a mutex lock, so there's no need for atomic bit operations. This is needed because there's one outstanding access (in isSignalConnected()) that is done outside the mutex. Not needed in 5.14 because commit a5a859e721e7a1d0c5a3ec6abe2db55d9144bb36 removed the bit field altogether. Fixes: QTBUG-81376 Patch-By: Chris Thornton Change-Id: Idc3fae4d0f614c389d27fffd15ea1d372968f8f1 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Guard against null-nativeParent in QWidgetBackingStore::markDirtyOnScreenTor Arne Vestbø2020-01-151-1/+5
| | | | | | | | | | The back port in 1e310b5a4508f removed the check in two of the call sites for this function, that in 5.14 were handled elsewhere, but for 5.12 caused us to not guard against null-nativeParent windows anymore. Change-Id: I698c5a0b6a54bbee37b533fcafa75129768c5db1 Fixes: QTBUG-81315 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Use QPointer for QWindow pointers in QGuiApplicationMorten Johan Sørvig2020-01-142-6/+6
| | | | | | | | | Guard against stale pointers; Use QPointer instead of raw pointers for QGuiApplicationPrivate state variables. Change-Id: Ie4f980f13dafe9729c1898b8fac7d26a87d2ca59 Fixes: QTBUG-80355 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix CVE-2019-19645 in SQLiteAndy Shaw2020-01-132-1/+93
| | | | | | | Task-number: QTBUG-81020 Change-Id: I58b1dd9e7a90ba998c3af7f25a4627d8bdd70970 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 1e89c132e1280276e1d3a82ec3464afec8c14c3a)
* QKeySequence: Add missing names for multimedia keysAlexander Volkov2020-01-131-0/+6
| | | | | | | Task-number: QTBUG-40030 Change-Id: Ib34bcbf42d6dd1206209c2d76444fd8c777278fe Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit fcbf15c97bac91a889eccaa0cfad10093fd052f0)
* Fix CVE-2019-19603 in SQLiteAndy Shaw2020-01-122-6/+121
| | | | | | | | | | | This includes the patch needed to fix this CVE and a supporting one to include a new function added that it depends on. Task-number: QTBUG-80903 Change-Id: Ic7639d50c89a3ee7d45426588c3ab0efd0eebb72 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit a75d238b3194ae4973be7f6ce0508a526d4aa49e)
* ucstrncmp: Fix UBSan report of array overflowingThiago Macieira2020-01-111-4/+4
| | | | | | | | | | | | | | | | The expression "a + offset + N" will eventually calculate an address past the end of a, since we are comparing to end. That's undefined behavior. Instead, calculate end - a and compare that to offset + N. This commit subtracts "a" from both sides of the inequalities and swaps the two sides to make them obey Qt coding style. Testing with GCC 9 (which is the only one I care about) shows the compiler generates the same code. Fixes: QTBUG-81218 Change-Id: Id84da383373844f3a4b0fffd15e7c1ab904daccd Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> (cherry picked from commit 64359ad710756e7cca5ca553521b2aada18fb0fe)
* Fix CVE-2019-19242 in SQLiteAndy Shaw2020-01-102-1/+37
| | | | | | | | Task-number: QTBUG-80903 Change-Id: I78a72a574da5cf3503950afe47146ae6424f00c6 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit dcef0b96eef04c4e17c2e51ea71aea1f78625864)
* sqlite: Update to v3.30.1Andy Shaw2020-01-084-4009/+5304
| | | | | | | | | | | | Since the patch applied previously is no longer required, we have removed that too. [ChangeLog][QtSQL][sqlite] Updated to v3.30.1 Fixes: QTBUG-79416 Change-Id: Ifc3fcc6e1768f80e97a5e0ab4b2aeabddf2ced9d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> (cherry picked from commit 11acbc2c9928603dae6b4e2f1ca8b745e766f92b)
* Merge "Merge remote-tracking branch 'origin/5.12.6' into 5.12"Qt Forward Merge Bot2020-01-081-4/+2
|\
| * Merge remote-tracking branch 'origin/5.12.6' into 5.12Qt Forward Merge Bot2020-01-071-4/+2
| |\ | | | | | | | | | Change-Id: Idcbf469ddcd6824f97a56c5e3a2e5fcc1d9706cf
| | * iOS: Account for UITextInteraction when building against 12.x or lowerv5.12.6Andy Shaw2019-11-081-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In iOS 13.0 we can handle UITextInteraction as normal, but in lower versions it is not available to utilize at compile time. So we have to check for the other types instead and return if it is not one of those. Change-Id: Icbc5558e677ed40c03f30a174e2d79b87f489f68 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 3916b8a28bc9c55e10f4de611ed76e17017494aa)
* | | macOS: Skip uninitialized buffers in IOSurface backingstoreTor Arne Vestbø2020-01-071-2/+4
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-80972 Change-Id: Ifb8eb84d6b802556ccd52ac129a91e142e265a81 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 77f1d0bfa542e166deaa196b3b3b854d33a3a1b7)
* | | macOS: Handle missing color space information in IOSurface backingstoreTor Arne Vestbø2020-01-071-3/+10
| | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-80972 Change-Id: Iab3f1a9cf03251340e5f32bcc73103428e93282d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 105e662221cc90d5002e06c97febf50c5c601336)
* | | macOS: Don't throw away backingstore buffers when backing properties changeTor Arne Vestbø2020-01-074-30/+30
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clients such as QtWidgets that do their own dirty tracking will assume they can just flush in response to the expose event, without repainting anything. Since we have no way at the moment to inform these clients that the backingstore content might be invalid we can't just throw it away. It turns out that to pick up changes in color spaces we can just tag the existing buffers with the new color space, so we don't need to throw it away. And for the older surface-backed mode we tag the color space on flush, so we didn't need to invalidate anything in the first place. Fixes: QTBUG-80844 Task-number: QTBUG-77749 Change-Id: Icb1ceb178894bb43887cdf03fb855d2d614b5ab0 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 7ac4e55cb979dff890f1575e771e5f2def9e3131) (squashed in commit c027d9b61e15)
* | Add check for global share context for QOpenGLWidget initializeMichal Klocek2019-12-191-3/+5
| | | | | | | | | | | | | | Fixes: QTBUG-78863 Change-Id: I678f66a2057fb9c98863e19eb09042306e72f68a (cherry picked from commit ce2fc51914f809369d5096e7a0621229dd9eaef9) Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Fix CVE-2019-19244 in SQLiteAndy Shaw2019-12-112-0/+27
| | | | | | | | | | | | | | Fixes: QTBUG-80635 Change-Id: I718349e28ec76ea164dd50f2a985f2074dd6bdbd Reviewed-by: Jesus Fernandez <jsfdez@gmail.com> (cherry picked from commit a7108ec6cfb6411e40a4012f3e6d3b5d5fb9631d)