summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Replace CopyrightFile entry in libjpeg qt_attribution.json5.12Kai Köhne2021-12-072-13/+12
| | | | | | | | | CopyrightFile is only supported by qtattributionsscanner since version Qt 6. This amends commit 804288cab3 Pick-to: 5.15 Change-Id: I57fa7f9cfb32ed98a26306bf88f7d02ef46224cf Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* macOS: Compute NSWindow background color without checking styleMaskTor Arne Vestbø2021-11-012-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | The check for styleMask == NSWindowStyleMaskBorderless to decide whether to clear the NSWindow background was broken, as NSWindowStyleMaskBorderless has the value 0, but is only supposed to be compared to its companion NSWindowStyleMaskTitled (with value 1). A window can perfectly well be NSWindowStyleMaskBorderless and NSWindowStyleMaskMiniaturizable e.g., so by comparing directly to NSWindowStyleMaskBorderless instead of masking to the first bit first we ended up making miniaturizable windows non-translucent. We now check the Qt::FramelessWindowHint directly, and also whether the window is opaque. Ideally we'd have QWindow flags that could plumb WA_NoSystemBackground from Qt Widgets, as well as a background color property on QWindow to control the system background, but in the meantime we'll have to use the FramelessWindowHint heuristic. The QWidget docs have been updated to reflect this. Task-number: QTBUG-95042 Change-Id: I0d40eecace60883c205ebb8c76cef1092cdf1144 (cherry picked from commit 2f6d572dad031d2757a0f307cba56ae7b01c390a) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* xcb: avoid to use invalid pointersLiang Qi2021-10-222-2/+14
| | | | | | | | Task-number: QTBUG-96399 Change-Id: I33909940b501cb13f78981c43f3aef9fc9d1d52d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> (cherry picked from commit e0938223c4b5966b94893276ba36c9b0493168c7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Refix for avoiding huge number of tiny dashesEirik Aavitsland2021-10-222-4/+35
| | | | | | | | | | | | Previous fix hit too widely so some valid horizontal and vertical lines were affected; the root problem being that such lines have an empty control point rect (width or height is 0). Fix by caculating in the pen width. Change-Id: I7a436e873f6d485028f6759d0e2c6456f07eebdc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 84aba80944a2e1c3058d7a1372e0e66676411884) Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Improve fix for avoiding huge number of tiny dashesEirik Aavitsland2021-10-221-1/+1
| | | | | | | | | | Some pathological cases were not caught by the previous fix. Fixes: QTBUG-95239 Change-Id: I0337ee3923ff93ccb36c4d7b810a9c0667354cc5 Reviewed-by: Robert Löhning <robert.loehning@qt.io> (cherry picked from commit 6b400e3147dcfd8cc3a393ace1bd118c93762e0c) Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Avoid processing-intensive painting of high number of tiny dashesEirik Aavitsland2021-10-222-9/+69
| | | | | | | | | | | | | When stroking a dashed path, an unnecessary amount of processing would be spent if there is a huge number of dashes visible, e.g. because of scaling. Since the dashes are too small to be indivdually visible anyway, just replace with a semi-transparent solid line for such cases. Change-Id: I9e9f7861257ad5bce46a0cf113d1a9d7824911e6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit f4d791b330d02777fcaf02938732892eb3167e9b) Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Bump versionJani Heikkinen2021-10-041-1/+1
| | | | Change-Id: Ia05e0d77e8998cae8c0149b9e112b646d4f6ae57
* Accessibility Linux: Fix caps lock stateSamuel Thibault2021-09-302-10/+8
| | | | | | | | | | | | | | | | Currently in QSpiApplicationAdaptor::eventFilter, the ATSPI_MODIFIER_SHIFTLOCK flag (actually capslock modifier) only set when the capslock key is kept pressed, not when the capslock modifier is enabled. Orca however really needs to know the capslock modifier state, to be able to properly determine whether to enable/disable capslock when the user presses double-capslock. Task-number: QTBUG-84225 Change-Id: I98ab8b7261c5560ebad49410b1358b2279080ec8 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit 6802065da8706f1fc298a56b9f66ab8a815400d3)
* SQLite: Update SQLite to v3.36.0Andy Shaw2021-09-303-2976/+4341
| | | | | | | | | [ChangeLog][QtSQL][SQLite] Updated SQLite to v3.36.0 Change-Id: I05cde47b757455dfd438405bfba1818c7f6eec00 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit b919fc8fd038bd04a88717269dce1fdf443af442) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* MySQL: treat the MYSQL_FIELD as read-onlyThiago Macieira2021-09-291-22/+17
| | | | | | | | | | | | | | | | | | | The MariaDB-connector-c version 3.2 and MariaDB server version 10.6 cooperate to avoid re-transferring the query metadata, so the fact that we were modifying it was causing it to improperly decode the DATETIME data types into string, as we had asked. We ended up with a 7-byte string that was actually the date binary-encoded. References: - https://jira.mariadb.org/browse/MDEV-26271 - https://github.com/MythTV/mythtv/issues/373 - https://bugs.kde.org/show_bug.cgi?id=440296 Fixes: QTBUG-95639 Change-Id: I4a40ccbd3321467a8429fffd169afdbb26cf29f6 Reviewed-by: Andy Shaw <andy.shaw@qt.io> (cherry picked from commit 549ee216fd5bf2b3810e940bcbd4bbd8c64ac73f) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNetworkInterface: disable Netlink-based Linux support on AndroidThiago Macieira2021-09-291-1/+1
| | | | | | | | | | | | | | | Android 11's SELinux rules block the RTM_GETLINK requests that qnetworkinterface_linux.cpp needs to make. So disable this completely and fall back on the older rimplementation. Bionic has some workarounds in their getifaddrs() implementation to make this work. Fixes: QTBUG-86394 Change-Id: I87447a0ecdee4dc7b506fffd163180c2b1db7835 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io> (cherry picked from commit e33d40a88476e8a9d4f950fb285c75d0c1a92a2e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit c07eff7d9477a5a098c76fb2107d9f902c2999ac)
* Update the COPYRIGHT.txt fileEirik Aavitsland2021-09-281-2/+2
| | | | | | | | | With the contents from src/jversion.h Change-Id: I3d4d2b40b3ed6576655b97b1709ee42c9c81ebe7 Reviewed-by: Kai Koehne <kai.koehne@qt.io> (cherry picked from commit fbd3b00e0b342b9291ee5cb60d3611e3878c6a7a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update bundled libjpeg-turbo to version 2.1.1Eirik Aavitsland2021-09-2812-24/+81
| | | | | | | | | [ChangeLog][Third-Party Code] libjpeg-turbo was updated to version 2.1.1 Change-Id: I22a273018229aa35a175f9e903fa605a3eb55c32 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit a6a3b1e79cf9bd54434ccdb0851fe49f12004152)
* Fix license information for libjpeg-turboKai Köhne2021-09-274-15/+65
| | | | | | | | | | | | | | Fix the license metadata in that libjpeg contains parts under three different bsd-like licenses. Also, do include the IJG, zlib license texts in the metadata. [ChangeLog][Third-Party Code] Clarified that libjpeg-turbo is actually covered by three licenses, not only IJG. Change-Id: I6c4e3e8577bdf83e7e73474b34b0553cbe1d9b6d Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> (cherry picked from commit 467b39d52c9ab59b1e7518330fbb51d5543ada50) Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Fix corner case in QTimeZonePrivate::dataForLocalTime()Edward Welbourne2021-09-231-13/+20
| | | | | | | | | | | | | | | If the local time for which we want data is after the last known transition, the two transitions we get to bracket it are the last known and an invalid one. The code checked the former was valid, but neglected to check the latter, leading to nonsense arithmetic later in the function. In this situation we unequivocally want the last known transition, so the problem is easily solved. Fixes: QTBUG-96152 Change-Id: I6fc830ce538e8a572093cd8dfe832e10689bf904 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit b656cea5deccab352b7c4c56d7023f5108578654)
* Make clear why QTestLog::addB?XFail() don't add to countersEdward Welbourne2021-09-231-2/+4
| | | | | | | | | | | | | This reverts commit 904617dfb83f39a6a379635b64fea6fcd00f241a and makes clear to future readers why that wouldn't be a sensible change. Update the test's data, eliminating a case of duplicate counting that was caused by the reverted commit. Task-number: QTBUG-95661 Change-Id: Ice6d3ab06ca171e0d6eb0fac757f1ab774e229f0 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 7af79ba09148dbfe5c1fc8b130d564dcca7ae4b3)
* xcb: add a timeout control when reading INCR propertyLiang Qi2021-08-101-2/+6
| | | | | | | | | | | | | | | | | | | | For the first call of QXcbClipboard::clipboardReadProperty() inside of clipboardReadIncrementalProperty() in getSelection(), it will get a XCB_NONE reply before the contents arrived via property change. Then we give a chance to read more. Manually tested with following setups: * examples/widgets/mainwindows/application with gvim(gtk3) * examples/widgets/widgets/imageviewer with GIMP 2.10.18(based on gtk2) and GIMP 2.99.6(based on gtk3 via flatpak) Fixes: QTBUG-56595 Done-With: JiDe Zhang <zhangjide@uniontech.com> Change-Id: Ib45f08464d39ad79137b1da99808c89b7dca2d08 Reviewed-by: JiDe Zhang <zhangjide@uniontech.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 02248eea5562c1df39ee23f195011afacc6759b0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QXpmHandler: actually limit characters-per-pixel to fourMarc Mutz2021-08-061-2/+5
| | | | | | | | | | | | | | | | | | | The following code assumed, and all comments indicated, that the cpp variable was limited to a max of 4. Yet, as coded, cpp could be five, in which case the XPM would be corrupt, as the header suggested five characters-per-pixel while the data was formatted in only four. Add a warning and error out when we encounter this situation. [ChangeLog][QtGui][QImage] Instead of writing a corrupt file, rejects to write XPM files with more than 64^4 colors (more than four characters per pixel) now. Change-Id: I458873cf7d179ab2e2dacd4c17dc837d640591a9 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 71334c324e702c434d446e5fc329294c97b8516d)
* tst_QSslCertificate::verify - remove QSKIPTimur Pocheptsov2021-08-067-254/+121
| | | | | | | | | And re-generate certificates. Fixes: QTBUG-95429 Change-Id: Id970a0a9315d146d6dd1e66c9cff9b7d75657e2d Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit e7ab17ade170a8fbc5061fffe5334b26cdc54ed3)
* Android: Fix unnecessary clipboard data accessMike Achtelik2021-08-051-12/+7
| | | | | | | | | | | | | Android 12 introduced a notification which is shown to the user each time the app accesses the clipboard via getPrimaryClip. Currently this notification is triggered, even if we just want to check, if some clipboard data exists. So lets not get the actual data and instead use getPrimaryClipDescription to check for the existence of the correct mime type in the clipboard. Change-Id: I4800f5545ab46b7f6cade0ce9d78c04b50ae96cf Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 5a7f4c1f4964a4bf6595002478fbcd474cedd8a6)
* QXpmHandler: fix re-entrancy bug in xpm_color_nameMarc Mutz2021-08-051-3/+12
| | | | | | | | | | | | | | | | | | | | | | The xpm_color_name() function returned a pointer to a function-static buffer. This is infamously non-reentrant, and an actual problem, because we explicitly allow QImage operations (incl. saving to an .xpm) from non-GUI-threads. Fix by using the CSS pattern (Caller-Supplied Storage; also used in the QAnyStringView(char32_t) and QAnyStringView(QStringBuilder) ctors) to force the caller to allocate storage in its own stack frame. As a consequence, we re-gain re-entrancy, but the returned pointer is now only valid until the end of the full-expression, which isn't a problem, as all callers immediately pass the result to a consumer (asprintf() or QByteArray). [ChangeLog][QtGui][QImage] Fixed a race condition when concurrently writing .xpm files. Change-Id: I36d7173d53839a52f5cdf58324474c1b32c71f33 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 73fabadcee71af858388fb245fccf4e96d4ead4e)
* tst_QSslCertificate::verify - skip auto-testTimur Pocheptsov2021-08-051-0/+2
| | | | | | | | | | | as a temporary fix for suddenly expired certificates situation (to be regenerated). Task-number: QTBUG-95429 Change-Id: I00ad11cfd8824eeeffa2991dfcda6a7899726953 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 8d0e4a2e5c3627e2fd88f14ccc8b349668012685) Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* macOS: Don't mangle QByteArray settings with @ prefix by decoding as UTF-8Tor Arne Vestbø2021-07-122-1/+13
| | | | | | | | | | | | | | | | | | | QSettings encodes QVariants as @Type(data) strings. If that data contains a null-byte, we write the string as UTF-8 encoded CFData. When reading it back we look for a @ prefix, and then pass it as UTF-8 through stringToVariant. The problem arises then the user writes raw QByteArrays with a @ prefix. We can detect this situation by checking the result of stringToVariant, and if it's just a simple conversion of the string into a QVariant, we know that stringToVariant hit its fallback path due to not finding any embedded variants. If that's the case, we return the raw bytes as a QByteArray. Change-Id: I4ac5c35d0a6890ebea983b9aca0a3a36b0143de2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 3eac6079d9a02fbedd3740186eaaf21134dc45c2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* opengl: fix a typo in QOpenGLPaintDevice::dotsPerMeterY()Liang Qi2021-07-061-1/+1
| | | | | | | | Fixes: QTBUG-95005 Change-Id: I88ab9b757a5cfee520e07ac6280e31f9211342f0 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 85831bcfe6ce36740c524d641ada79c65aadd89b) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QVarLengthArray: fix aliasing error in insert(it, n, v)Marc Mutz2021-06-291-1/+1
| | | | | | | | | | | | | | | | | | Taking the copy after the resize is completely pointless: the copy is there to ensure that `t`, being a reference potentially aliasing an element in [begin(), end()[ before the resize(), isn't invalidated by the resize(), so it must be taken before resize(). Add a comment so the next rewrite doesn't cause this to be mixed up again. [ChangeLog][QtCore][QVarLengthArray] Fixed an aliasing bug affecting insertions of objects aliasing existing elements. Change-Id: I26bc449fa99bf8d09a19147a12a69ac4314cc61d Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> (cherry picked from commit 6e57e41f9aef5ccfa122c10bc6253d47dafd93d2) Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Enable glyph cache workaround for Apple M-family of GPUsTor Arne Vestbø2021-06-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Without the workaround, and when using a Core GL profile, we hit a code path in QSGOpenGLDistanceFieldGlyphCache::resizeTexture() that produced corrupt glyphs on M1 hardware. We fix this by enabling the workaround, so that the user doesn't have to set QT_ENABLE_GLYPH_CACHE_WORKAROUND themselves. None-Core contexts do not have this problem, but the logic in QOpenGLContext does not account for recreated contexts with different formats, so we can't limit the workaround to Core formats only. With the unified memory architecture of the M1 hardware, the workaround should have limited negative effects. In Qt 6 this is not a problem, since Qt Declarative effectively always uses the workaround code-path, but it's worth recording the fact that we need the workaround. Fixes: QTBUG-89379 Change-Id: Icfd8b8b23c0dcda3fea8663d81d0e225134eec5e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit aeeaa7d253239b4b45e419bcad5cfde5c5714080) Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* macOS: Allow programatically minimizing frameless windowsMorten Johan Sørvig2021-06-091-1/+4
| | | | | | | | | | | NSWindowStyleMaskMiniaturizable also controls programatic minimize, in addition to the window decoration button. Fixes: QTBUG-65637 Change-Id: Iac5fb483433441173d770f4fcfb9e93440b9fe6a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 556fbbea6e96c07c6cbd552c4179e5717e799acf) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qmake: Switch to using Xcode's new build systemTor Arne Vestbø2021-06-081-2/+0
| | | | | | | | | | | | | | | | | | Now that inputs (81152194) and outputs (3f0858ed) are explicitly set for the preprocess stage we can enable the new build system. Using the legacy build system will produce a build error in Xcode 13, but the build will succeed: error: The Legacy Build System will be removed in a future release. You can configure the selected build system and this deprecation message in File > Project Settings. Fixes: QTBUG-71035 Change-Id: I108d2103872255d10de2ff5161eef892065da1c4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 3d7bdf0d61699cb7fdfcef7fe7b546e3167723b2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* SQLite driver: fix crash when binding a QByteArray/QStringGiuseppe D'Angelo2021-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing SQLITE_STATIC to sqlite3_bind_*() means that ownership of the data stays in the caller, i.e. SQLite itself doesn't make a copy; such data must be therefore be kept valid until sqlite3_step() is called. The code in the SQLite driver uses that option to avoid copying byte array or string data. But, unlike what the comments in the code say, we do NOT keep the QByteArray/QString alive long enough: they're contained by a temporary QVariant object which gets destroyed at the end of the loop that binds each argument. Luckily the fix is simple: since that QVariant is just a copy of the QVariants used as bound parameters, and these are held in a container (which lives long enough), simply create a reference to the container's elements rather than a copy. This ensures that the data is alive by the time sqlite3_step() is called. This problem doesn't normally appear because of implicit sharing of QByteArray/QString. When the QVariant is copied, the inner element is just a shallow copy. Getting the pointer to the data, and destroying the QVariant, does not destroy the data (it's kept alive by the QByteArray/QString inside the *copied-from* QVariant). Of course there's a catch: if the *copied-from* QVariant contains a QString created via fromRawData, then everything blows up. In this case, 1. the copied QVariant is created (which bumps the QString refcount)¹ 2. the QString inside of it is accessed directly (via QVariant::constData) 3. utf16() is called on that string, which detaches it (!) 4. the result of utf16() is passed to SQLite, with SQLITE_STATIC 5. the copied QVariant is destroyed; this destroys the inner QString, which, being detached, deallocates the data too early. 6. sqlite3_step() is called, kaboom. (The copied-from QVariant still has the string created by fromRawData.) ¹ Note that QString uses the Small QVariant Optimization, so the QString object itself into the QVariant is copied, it's not just a *QVariant* refcount increase. Change-Id: Idcdb192809f1f8f79b4a901e1247f933eb06e854 Fixes: QTBUG-94070 Reviewed-by: Andy Shaw <andy.shaw@qt.io> (cherry picked from commit 0f38259cb3aee5cce5a2af99af3f69712c9f1123) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Cherry-pick upstream patch for non-gcc/clang/msvc compilersAllan Sandfeld Jensen2021-05-183-4/+15
| | | | | | | | | | Fix build w/ non-GCC-compatible Un*x/Arm compilers Fixes: QTBUG-93779 Change-Id: Ib52e9ded6e2814c7998d6cd798e945da0f87f7a1 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> (cherry picked from commit 4341f6763b8a737ebc07bb78ead22bc05a1a515b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* iOS: Accessibility: Set the correct traits for EditableTextAndy Shaw2021-05-141-1/+9
| | | | | | | | | | | | | Since the correct accessibility traits for EditableText are not available as a direct enum value, then we depend on the defaults for a UITextField to give us this information. Done-with: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Fixes: QTBUG-93494 Change-Id: If428414aec5ce571f0f8c0ecccffdbaf1c908120 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit 08cd5580df382af5ddfe1c0c44bc9dd68e4cd1e7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* SQLite: Update SQLite to v3.35.5Andy Shaw2021-05-143-5150/+8964
| | | | | | | | | [ChangeLog][QtSQL][SQLite] Updated SQLite to v3.35.5 Change-Id: I7e1f5a4b6eb48d9f6105d7f08b35a2c62fc79660 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 75d8623752e67a39e2ee04e5233dc502e63a17f1)
* Avoid overflowing QFixed in text layoutEirik Aavitsland2021-05-101-0/+3
| | | | | | | | Fixes: QTBUG-89172 Change-Id: Icb78c8eeb1dbe4c5d4c6476beebafc0115a91e8c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 36ccbee34e89d185918a2925444dac11211e5c60) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Gracefully reject requests for absurd font sizesEirik Aavitsland2021-05-101-0/+6
| | | | | | | | | | Avoid overflows. Fixes: QTBUG-89899 Change-Id: Ic1a83c1704fe20be3d032358dc91ee8e751f2281 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 679750684087cad7a48921c4174a53cdf4855049) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update bundled libjpeg-turbo to version 2.1.0Eirik Aavitsland2021-05-1039-667/+1079
| | | | | | | | | | [ChangeLog][Third-Party Code] libjpeg-turbo was updated to version 2.1.0 Change-Id: I82a58609120923c18f6031fec7d597138ec473ee Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 127f617387c00139dddbfc9438ab032e24559566) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QVnc: clip requested screen region to available screen imageEirik Aavitsland2021-05-101-2/+3
| | | | | | | | | | | Avoid potential oob memory access. Fixes: QTBUG-91770 Change-Id: I34fff1cf8dec5275572a027288b0e8310359d9f8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit c494c1e8754ed13b409133196d9db00bf7e0f2b5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Simplify bundled libjpeg buildEirik Aavitsland2021-05-104-2/+1
| | | | | | | | | | | | Move the config headers of the bundled libjpeg back into its source directory, where they originally live, to avoid having to trick with the include path to find them. The goal is unification across maintained Qt branches, making version updates simpler. Change-Id: I5b574446bbd264b0a1cb3efceb4c1cb7203cac7d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 5df88b85c6e61409c5c759e78f32edaac7b2022f)
* iOS: Accessibility: Don't cut off the last character from the text valueAndy Shaw2021-05-071-2/+1
| | | | | | | | | | | | The second parameter is the position of the first character not to be returned when calling text(). So it needs to be passed the length of the text, otherwise the last character is cut off. Task-number: QTBUG-93494 Change-Id: I7dd8324b3939220de125ba819b7b77588b21bd4b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 5c29f981fa069907678f961cf58ecefd64bf268b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Explicitly set input files for qtpreprocessChristoph Keller2021-04-121-0/+9
| | | | | | | | | | | | | This fixes build errors with Xcode 10. Xcode 10 build system (a.k.a "New Build System") needs to know the input files in order to build a correct dependency graph. Especially when a build is not run for the first time and files changed in-between. Task-number: QTBUG-71035 Change-Id: If8fbad3a1915add9b35c79131b03cdbe6b7ac06d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 8115219407fdbe7c01e97c76ccf3aa48b1fd8f78) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Only embed launch screen when building an appChristoph Keller2021-04-081-1/+1
| | | | | | | | | | | Xcode's new build system checks duplicated entries when building. Qmake wants to embed the launch screen for all types of configurations (static libraries etc.) which makes Xcode bail out with "Multiple commands produce LaunchScreen.storyboard". Task-number: QTBUG-71035 Change-Id: I5c028e687f16e046b12156c1a8a89540deba4d3b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 9c24ad3b94cb8c67468e947f02dd1f9aaf246085)
* Explicitly set output files for qtpreprocessNikolay Avtomonov2021-04-071-1/+7
| | | | | | | | | | | | | This fixes build error with XCode 10. XCode 10 build system (a.k.a "New Build System") requires all the files that are generated by scripts and used later on build to be explicitly defined as output files. Task-number: QTBUG-71035 Change-Id: Ibec39eee53b0cb3acecf592f1ca53c04b9975cad Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 3f0858ed10d249acb942597b4065080411281b87) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update bundled libjpeg-turbo to version 2.0.6Eirik Aavitsland2021-04-060-0/+0
| | | | | | | | | [ChangeLog][Third-Party Code] libjpeg-turbo was updated to version 2.0.6 Change-Id: I3e308d241853edf3c1d616955cda203220a258d8 Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit ede0082f861146d441df641d93f815dbe63a9076) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update bundled libjpeg-turbo to version 2.0.6Eirik Aavitsland2021-03-2326-150/+235
| | | | | | | | | [ChangeLog][Third-Party Code] libjpeg-turbo was updated to version 2.0.6 Change-Id: I3e308d241853edf3c1d616955cda203220a258d8 Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit ede0082f861146d441df641d93f815dbe63a9076) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Avoid undefined color values in corrupt xpm imageEirik Aavitsland2021-03-121-1/+1
| | | | | | | | | Issue reported by Codechecker. Change-Id: I1a5aa2203fb31e0ce3b630a11e450925aee81fb0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit f651e6a26cb59f7b7c7671cded8a10b9f98f5c71) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* xcb: unset old states and set new ones for windowLiang Qi2021-03-081-16/+33
| | | | | | | | | | This partly reverts a02959bb5b43a3f9d881e5213ceedf535202b6a1. Fixes: QTBUG-87078 Change-Id: I69e18ad3c0a8d142b2e1f5ab87990addc97d9df1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit f61b140482d9578c07410a5979379e44e05352e5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* xcb: fix thread synchronization in QXcbEventQueue::waitForNewEvents() againIgor Kushnir2021-03-053-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch amends a41701904e880f58e19b352ade1931d6cd1a7112 If peeking into the event queue looking for a clipboard event fails, QXcbClipboard::waitForClipboardEvent() calls queue->peek for the second time to "process other clipboard events, since someone is probably requesting data from us". QXcbEventQueue::peek() in turn calls QXcbEventQueue::flushBufferedEvents(). This second flushing can acquire a waited-for clipboard event. The issue was that the code in waitForNewEvents() ignored this possibility and assumed that there were no clipboard events before or at its current m_flushedTail. If there were no more events on the X11 connection after tailBeforeFlush, the waitForNewEvents() in waitForClipboardEvent() blocked execution for 5 seconds and eventually timed out. The fix is to remember QXcbEventQueue::m_flushedTail just after looking for and not finding a clipboard event in the queue. And then wait for more events via QWaitCondition in waitForNewEvents() only if there were no more events after the remembered m_flushedTail. Fixes: QTBUG-75319 Change-Id: I4919c5b9b9227b3a8a29a11e7094f97960b3a121 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> (cherry picked from commit f2d22d5a5126e7a73da620a60847fc124f724333) Reviewed-by: Liang Qi <liang.qi@qt.io>
* Android: make calling exit() conditional on an environment variableVille Voutilainen2021-03-041-2/+3
| | | | | | | | | | Task-number: QTBUG-82617 Task-number: QTBUG-85449 Task-number: QTBUG-83043 Change-Id: I5ac67b5d57550e5a1f816e5db01f4aab31127283 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 6e0ce4ee8005d36ee5d080212b8d83b42ebcae17) Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
* Avoid int overflow in QImage rotate90/180/270Eirik Aavitsland2021-02-241-11/+16
| | | | | | | Fixes: QTBUG-91223 Change-Id: Ice53c80d695a5ffdf9162df84e7c9b1e43106bae Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 8daa94431341afece6beb052e6224d215f8507b7)
* Blacklist failing tests on macOS 10.14Morten Johan Sørvig2021-02-182-0/+3
| | | | | | | | | | | These tests fail locally, and have been reported to fail on the CI system. Change-Id: Ia76bb15c288af4171ebe47b3c30f3651a63df3f2 Task-number: QTBUG-75786 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 17affdfbcbb1774dd71782d63889689909fb4bff) Reviewed-by: Liang Qi <liang.qi@qt.io>
* QSslCertificate: Guard against accessing empty QByteArrayRobert Loehning2021-01-111-1/+3
| | | | | | | | | Fixes oss-fuzz issue 29276. Change-Id: I57b0c26e5377bd6b82d9f044ae1d1d13acec996a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit ce90248882b73b4b816a8550710279e3e55ab64c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>