summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update latest qt license agreementv6.2.2Jani Heikkinen2021-11-231-852/+836
| | | | | | | Pick-to: 6.2 dev Change-Id: Idc5346bbdd05646ad8eee754d1d708bc59d704fc Reviewed-by: Tino Pyssysalo <tino.pyssysalo@qt.io> Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
* QImageReader: check allocation limit for minimum 32 bppEirik Aavitsland2021-11-232-2/+13
| | | | | | | | | | | | | | | | | | Also, as a driveby, add an environment variable so the limit can be changed at runtime. [ChangeLog][QtGui][QImageReader] When checking allocation limit during image reading, the memory requirements are now calculated for a minimum of 32 bits per pixel, since Qt will typically convert an image to that depth when it is used in GUI. This means that the effective allocation limit is significantly smaller when reading 1 bpp and 8 bpp images. Change-Id: If1b204d413973b0975eea531e29c260fdcec931d Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 8ce36938569841020daf9dc23e41438b06e0ee53) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: Fix QSlider's knob positioning on MontereyVolker Hilsheimer2021-11-201-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMacStyle has a single NSSlider that is used to render any QSlider. For each QStyle API operating on a slider, the style sets the slider up with respecive properties. On macOS 12, the NSSlider maintains some states that make QSlider instances influence each other's knob position when rendering, resulting in uncontrollable jumping of the slider. This can be fixed by not using startTrackingAt/stopTracking APIs, which are however the only way we have to make the slider knob get rendered pressed - there is no property in NSSlider(Cell), and none of the NSCell attributes have any effect. So we need to use startTrackingAt, and work around the side effect by reinitializing the NSSlider by calling initWithFrame. This fixes the positioning error, but also causes flickering of the knob when dragging. To fix the flickering, we have to always call startTrackingAt for a slider that is pressed, even for calls to setupSlider that are made in QStyle APIs that are not drawing anything. Also tried with no complete success (either positiong bug or flicker): * call prepareForReuse on the NSView * always call stopTracking on the NSSlider Fixes: QTBUG-98093 Change-Id: I3423b9f7cb125a59831c6722509ab3b74742b6ae Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 4bee9cdc0ac4bbee7f061e8f6050d704032f6d0f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Clean up line clipping code in rasterizerEirik Aavitsland2021-11-201-36/+59
| | | | | | | | | | | | | | | Replace old code with the line clipper from qcosmeticstroker. Also avoids tripping some issue with the current clang 13 that would cause paint errors on macOS. Fixes: QTBUG-98403 Fixes: QTBUG-98388 Change-Id: I257eeec6f71153ec51b4176df3be8c443938484c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 4f69a1e1d2ae8f475bbd7e1d3c1ca92487c6ea90) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Reject truncated and corrupt ascii pnm imagesEirik Aavitsland2021-11-171-22/+27
| | | | | | | | | | In contrast to the binary decoder code, the ascii decoder would not abort and fail on premature end of file. Change-Id: If27bce0afa8d1de6c4dbeb2bc0e623c1dcc2f1e0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 997c052db9e2bef47cf8217c1537a99c2f086858) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Gate bic tests behind a manual featureToni Saario2021-11-171-0/+3
| | | | | | | | | | Bic tests do not work due to bic tests being broken. A feature enables easier testing of the bic tests. Change-Id: I15b400ee8f0f877ac2c6c71fc50d51c5e11b330d Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io> (cherry picked from commit 31910cbc09ff219b332aac94afe78c99d34274b3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: Clear NSOpenGLContext drawable when QNSView is about to go awayTor Arne Vestbø2021-11-173-0/+20
| | | | | | | | | | | | | | | Calling doneCurrent() on a QCocoaGLContext only clears the current context, but doesns't reset the drawable (view) of the context. In most cases this is fine, but it has been observed to cause issues when using the software GL renderer on Big Sur and above. To be a good citizen we clear the drawable of any of our contexts that are tied to the NSView this about to be go away. Change-Id: I8c845727c50871f30fbebc2ed62a7d0485651ecf Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 99bb78f6c2a748070d1354f9e13951b1e3344b19) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Test result of qobject_cast before dereferencingLi Xi2021-11-162-6/+20
| | | | | | | | | | | | | | Since QMainWindow::setMenuWidget accepts a QWidget (allowing users to implement their own menu widget), we need to use qobject_cast on the stored widget to see if it is a QMenuBar before calling QMenuBar APIs. This qobject_cast may return nullptr. Fixes: QTBUG-98247 Change-Id: Iff1dbd24fa7ca09098fe49c179770356c966251d Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit a0e7fbd4d54ddbea5c2b155b0f828df3ce3c98fb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Android: check if objectClass() is not null in registerNativeMethods()Assam Boudjelthia2021-11-153-15/+52
| | | | | | | | | | | | | In case the class doens't have a default constructor, checking for object.isValid() will give false because the object won't be created, however, the class could still be loaded and we could have a valid jclass. Fixes: QTBUG-96069 Change-Id: I8d59e26d9d7c0e8e363ce443937091a374a24473 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> (cherry picked from commit dfb4b7856a82a72934211d9a1a44626777570d30) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Build PostgreSQL driver as universal binary on macOSTor Arne Vestbø2021-11-151-2/+0
| | | | | | | | Task-number: QTBUG-93204 Change-Id: I3e7c76411a7bebee9105a9d97b6ca2c4128a8ddc Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit e6364f9c9c827573c02893adf71c17c6f1a538d6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update documentation of QFuture continuationsSona Kurazyan2021-11-151-19/+44
| | | | | | | | | | | | | Mention that the futures returned by continuations will stay uninitialized, until the corresponding continuation/handler starts executing and do some general improvments to make the docs more readable. Task-number: QTBUG-97582 Change-Id: I141ff1630b22ec7a856a457a41a69efec980d44b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 76a551588c6756bfa9675d128c8a6e5a7cd50cb2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: make the slider knob big enough for BigSur and MontereyVolker Hilsheimer2021-11-152-2/+10
| | | | | | | | | | | | The slider is very touch friendly from macOS 11 on, and the knob is quite large. Give it some extra pixels, and adjust the test accordingly. Task-number: QTBUG-98093 Change-Id: Iedf6db1081cdd4013ca29ce760aea1e0361b1123 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 6ff07ec23b562d78f7fa19b5c6ada72724dc81a1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Run bic tests on linux packaging targetToni Saario2021-11-151-0/+39
| | | | | | | | | | Task-number: QTQAINFRA-4338 Change-Id: Ie2682839139cc48887ee43b75a0dffe26805ad60 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Milla Pohjanheimo <milla.pohjanheimo@qt.io> Reviewed-by: Simo Fält <simo.falt@qt.io> (cherry picked from commit 0b70d698c8ad314f5bbf4a13914293aefe7d200f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Build docs in-treeToni Saario2021-11-151-13/+10
| | | | | | | | | | | The actual module build is done in-tree and after this attempting to do shadow build of the dirty source directory causes issues in some modules. Change-Id: I74bca186b238c5c1f10576b4f821efdf66b827ed Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 98e1760d2e54cdc446e0d966511c4e899f14427d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Android: bump default QT_ANDROID_API_VERSION to 31Assam Boudjelthia2021-11-122-2/+2
| | | | | | | | | | To allow using Android 12 APIs. Change-Id: I5e9da66c84457888ec723125d16876891232a99b Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit e6e8c59485b8ba8dda9b6bfd203fb1c68f1c2e47) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Disable some tools and plugins if regularexpression feature is disabledMitch Curtis2021-11-122-2/+2
| | | | | | | | | There are still more failures, but these are low-hanging fruit. Change-Id: I3d3a1dc9e754bd4865c850cc1549b0b6fd6fa2f8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 0d6438f8080dbcd2658494efda36b430a9b45800) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix QMultiHash::operator== crashAndreas Buhr2021-11-112-3/+15
| | | | | | | | | | | QMultiHash::operator== crashes when comparing two unequal objects. This patch fixes it. Fixes: QTBUG-98265 Change-Id: Ibf9fef3372a2b4581843be5f25e65cc9a55ef64d Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 838edd9c48284b97dfc22cf3644bb082035a9a93) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QDuplicateTracker: add clear()Thiago Macieira2021-11-112-0/+21
| | | | | | | | | I'll need it in QFactoryLoader. Change-Id: Ice04365c72984d07a64dfffd16b47f68d25252b4 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 090c7e3262dce93df83c73a4a822761e5d9b4650) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QFileDialog: Fix adding default suffix when file path contains dotAlexander Volkov2021-11-112-3/+24
| | | | | | | | | | | Check that a file name, not the full path, contains a dot. Fixes: QTBUG-59401 Change-Id: I193b2ae457a3ac6a460524dbf200786eb3461cef Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit d36249e9759364a7025b531d1dfe89a891e65a4e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Windows QPA: Set SWP_NOCOPYBITS during resize to avoid jitterYuhang Zhao2021-11-111-1/+6
| | | | | | | | | | | | | | Allowing Windows to re-use parts of the client area when resizing might result in jitter. See discussion in: https://stackoverflow.com/questions/53000291/how-to-smooth-ugly-jitter-flicker-jumping-when-resizing-windows-especially-drag Fixes: QTBUG-97774 Change-Id: Idc8f0d1953dd0a8b329312d8a9fd0509cc24d81f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 000f1ee3604048f693f2a9425948a37ec45b4301) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QSlider: Always set the sunken state and the active controlVolker Hilsheimer2021-11-111-6/+7
| | | | | | | | | | | | initStyleOption should initialize the state based on which controls are pressed or hovered, not only when painting but also when calling other style APIs. Task-number: QTBUG-98093 Change-Id: I482793b7de38657aa36a20d0abab8845155ad0e9 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit c7e8133a95220e0ce96171024e34de8c53975b9c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix not respected qt.conf settingsMichal Klocek2021-11-111-6/+13
| | | | | | | | | | | | | | | | | Change 6fb569af951 introduces reloadOnQAppAvailable for QLibrarySettings, however it is missing a reload check for hasPaths, this breaks essentially reading custom qt.conf Add missing check. Fixes: QTBUG-97382 Fixes: QTBUG-97383 Fixes: QTBUG-97947 Change-Id: I28379d9dd38357c290edd44b93d3bea489b9cefe Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit e6db4206b81f3fcea13646461f56a5207d9608c2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* rhi: Expose the maximum uniform buffer range limitLaszlo Agocs2021-11-1110-1/+65
| | | | | | | | | Task-number: QTBUG-97715 Change-Id: I7f0a52c410b9b77f735fb3b7fd33141674bb0cda Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Andy Nichols <andy.nichols@qt.io> (cherry picked from commit a8be40bd64b9258334d6936b1775bc6631fd158d) Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add missing qt namespace in qthreadstorage.hAlexey Edelev2021-11-111-0/+4
| | | | | | | | | | | | Wrap 'else QT_CONFIG(thread)' block in qthreadstorage.h with qt namespace Fixes: QTBUG-98085 Change-Id: Ica1817fa6beeaf9e4883edaa8738f042b29f0c5e Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit f6d210a0d32ce9e81a160bfb893342cb0a521f54) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Bump WINVER, _WIN32_WINNT and _WIN32_IE to _WIN32_WINNT_WIN10 (0x0A00)Yuhang Zhao2021-11-1113-55/+58
| | | | | | | | | | | And bump NTDDI_VERSION to 0x0A00000B (NTDDI_WIN10_CO) at the same time, to unblock the developers from accessing the latest Windows APIs. Change-Id: Ifbc28c8f8b073866871685c020301f5f20dc9591 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 6652bf2353d807f724f398a15cb22c188830f57c)
* Initialize QStyleOptionProgressBar with QStyle::State_HorizontalZhang Hao2021-11-111-0/+1
| | | | | | | | | | | | | | | In Qt 5, QStyleOptionProgressBar::orientation was Qt::Horizontal by default. In Qt 6, we need to init state with QStyle::State_Horizontal so that code setting up a style option doesn't need to do so explicitly. Amends add8262f72befc4c6a25403a21269030111054d1 Fixes: QTBUG-93412 Done-with: Volker Hilsheimer <volker.hilsheimer@qt.io> Change-Id: Iaa311cf0f4bab72c0bacbd8e698ba24660bca6b8 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit c0bc4c7638d8b7d46f8cb3175ddde2a59ca63983) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* cmake: Don't notify/warn the user when Xcode is not foundTor Arne Vestbø2021-11-111-3/+0
| | | | | | | | | | | We can technically build without Xcode, as long as the command line tools are installed. We reflect that by an empty QT_MAC_XCODE_VERSION variable. Change-Id: I40ffa28a628157e0a2c63656065ea7c41a680e01 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 9991ca91633d77a86b31b594897aa871b6151888) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qmake: Support Visual Studio 2022Joerg Bornemann2021-11-115-1/+24
| | | | | | | | | | | | | Extend the detection of the MSCV_VER variable and make VS 2022 known to the vcxproj generator. [ChangeLog][qmake] Added support for Visual Studio 2022. Fixes: QTBUG-97975 Change-Id: Id2c0a0b7800f721e9e34189f0a40ba4830283578 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 1c880752eb891e77c3d3b5ffbf60fbb9109120fb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix tst_qfontdatabase on Windows with FreetypeEskil Abrahamsen Blomfeldt2021-11-111-1/+5
| | | | | | | | | | | | Since e05e3c776256d35798f451f31cd71e809786ed78, the advance test in tst_QFontDatabase::condensedFontMatching() passes with the bundled freetype engine, so the XFAIL causes a failure when running with this configuration. Change-Id: Ie6fbccfa0d9c79654563e9e3f19694f252e32fc6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 518790af79df339143820cd9d34a74c00db1ed7e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Add CoreBluetooth framework for macOSJuha Vuolle2021-11-111-0/+1
| | | | | | | | | | | The Qt bluetooth module uses ${FWCoreBluetooth} when building for iOS, but that evaluated to empty. Change-Id: I93ff2c30697a912bed454087ae260fae9cc41b0f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 605d383a702044e577ca2826e75c7cc56e78727d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Q{XcbGl,EglFSDevice}IntegrationFactory: remove unused extra plugin pathThiago Macieira2021-11-104-51/+6
| | | | | | | | | | | Cargo-cult copied this from somewhere, unnecessarily. This just made the code bigger for no reason. Task-number: QTBUG-97950 Change-Id: Ice04365c72984d07a64dfffd16b48520d42c7043 Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 3ba1a196aaac8f480c0fcb4fc005c1f4e7d7f88b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QGuiApplication: properly decode path command-line argumentsThiago Macieira2021-11-101-2/+2
| | | | | | | | | | Using QFile::decodeName, not QString::fromLocal8Bit. Change-Id: Ice04365c72984d07a64dfffd16b47dcbfee23341 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit b0dc6abfb214667e6359a0b55006fb31baf709a7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update CLDR-derived data to newly-released v40Ievgenii Meshcheriakov2021-11-107-4808/+4838
| | | | | | | | | | | | | | Update tst_qlocale to take into account "narrow" day representation change for Russian locales. This version of CLDR changes narrow forms to one letter. Previously those forms were identical to short forms (two letter). The new representation is consistent with other languages and so does not appear to be a bug. Fixes: QTBUG-94358 Change-Id: I9724c281a250685da8232e5c05c9c375a8c79253 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (cherry picked from commit 96a03533f95425217c23e3e2fe6574984545d3a6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* locale_database: Add entry for 'South Sudan Standard Time'Ievgenii Meshcheriakov2021-11-102-172/+175
| | | | | | | | | | | | This timezone is new in CLDR 40, Olson database calls it Africa/Juba. The offset is UTC+2. Reference: https://techcommunity.microsoft.com/t5/daylight-saving-time-time-zone/2021-time-zone-updates-for-republic-of-south-sudan-now-available/ba-p/2234981 Task-number: QTBUG-94358 Change-Id: Ib70dbd9b472eb9cf8cb62a0eb5e241199148c077 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (adapted from commit 2c505eea01d5c20ad1487d8009d2f3badcbc5201)
* Workaround MSVC 2022 bug about QString::replaceAndreas Buhr2021-11-101-2/+5
| | | | | | | | | | | | | MSVC 2022 (17.0.0) complains about "'QString::replace': 12 overloads have no legal conversion for 'this' pointer". This is a compiler bug. It is reported to MS. Still we workaround it here so that qtbase can be built with MSVC 2022. Task-number: QTBUG-96975 Change-Id: I0180e2e6760d2809ca61e3cd8f02b04f970172a7 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> (cherry picked from commit 30a70fc6e0ffa562e27d0fc25f99187f7de71493) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QDomDocument::setContent: Open device if necessaryFabian Kosmale2021-11-092-0/+34
| | | | | | | | | | | | | This restores the Qt 5 behavior in Qt 6, but prepares for disabling it in Qt 7. We want to deprecate the current behavior, as it makes it unclear who is responsible for calling close. Fixes: QTBUG-97747 Change-Id: I2c99eb96667e784576d8850085068ca334d75b16 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit a4ce85f356b78401fe727a07b908a1e7b5a25198) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: Add QCALayerBackingStore::preserveFromFrontBuffer helper functionTor Arne Vestbø2021-11-092-10/+22
| | | | | | | Change-Id: Iadd4791907564b8b82437643c54696ffa778d882 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit ecfbc918d7f3042ecff5490a103a06cc1b195977) Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Don't quit application if we're not in execTor Arne Vestbø2021-11-091-0/+3
| | | | | | | | | | | | | | | | | The documentation states that the function will not have any effect before control enters the main event loop. Prior to 0c02f133f3daee1 this was incidentally true due to QCoreApplication::exit just setting quitNow to true and exiting all the event loops (which before exec were none), and exec() setting quitNow to false explicitly. But now that we plumb the quit down to the platform we can't rely on this incidental behavior, and need to check explicitly. Fixes: QTBUG-98088 Change-Id: I54cece3630e39e4456abc3b372839c0b5c4c4713 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit 851ed6f0b1014e5acabdc1f977979841d16ecc31) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Remove broken homepage link for Vera fonts attributionLuca Di Sera2021-11-091-1/+0
| | | | | | | | | | | | | | | | | The attribution for the Vera Fonts project declares a page on the gnome domain as the homepage of the fonts. The page is not maintained anymore and was removed from the gnome domain. Hence, we remove the "Homepage" key from the Vera Fonts attribution as no homepage seems to exists at the moment. Task-number: QTBUG-96127 Change-Id: If4801eb96ce5568c4c18ecea7807ad87e165ca2a Reviewed-by: Kai Koehne <kai.koehne@qt.io> (cherry picked from commit ae0733c99b8452ea1c69bc3a487d8c72c5637cb0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Move Q_OBJECT_COMPUTED_PROPERTY to QObjectComputedPropertyLuca Di Sera2021-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `Q_OBJECT_COMPUTED_PROPERTY` is a macro that is used to declare a `QObjectComputedProperty`. The documentation for the macro was related to the `QObjectCompatProperty` documentation, which is internal. A link to `Q_OBJECT_COMPUTED_PROPERTY` appears in `QObjectComputedProperty`'s page, but fails to resolve as the required documentation page is internal. Furthermore, `QObjectCompatProperty` has a macro that is equivalent to `Q_OBJECT_COMPUTED_PROPERTY`, `Q_OBJECT_COMPAT_PROPERTY`, whose documentation is declared related to `QObjectCompatProperty`. It is hence assumed that relating the documentation for `Q_OBJECT_COMPUTED_PROPERTY` to `QObjectCompatProperty` was a typo, such that the documentation for the macro is now moved to be related to `QObjectComputedProperty`, resolving the linking issue in the process. Task-number: QTBUG-96127 Change-Id: I2c1bfd6ba64f13e186c65701593047b64bf0c199 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> (cherry picked from commit 09a68dfa94e9d5eb8c59d7008a4169cf0e33b306) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Fix default install prefix of top-level non-developer buildsJoerg Bornemann2021-11-091-1/+3
| | | | | | | | | | | | | | | | A top-level non-developer build is supposed to default to a prefix like "/usr/local/Qt-6.3.0". That wasn't the case. In QtSetup.cmake we check CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT, set CMAKE_INSTALL_PREFIX and did the same thing later in QtBuildInternalsExtra.cmake, with a different value. Make sure we run the latter code only in per-repo builds. Fixes: QTBUG-98087 Change-Id: I4a1291dfd126aa11c21d69809f2cf7b075c98d2e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 7be143f43849dc9a6917d4165a7ec459f53983b8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Avoid painting outside boundaries when printing QGraphicsProxyWidgetEirik Aavitsland2021-11-091-0/+4
| | | | | | | | | | | | Implement clipping to widget geometry when rendering to other paintdevices. Fixes: QTBUG-98026 Change-Id: I5652bdb8cc052ae34f05ea7963943d2b5b28e220 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 1a984b3d2dde484d105d19265bc516ba18da2894) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qoperatingsystemversion_win: fix thread raceMårten Nordheim2021-11-081-3/+4
| | | | | | | | | | | | | If two threads call the function at the same time before the static is initialized one of them may end up with a half-written object. Amends 3fe89eec61e2c819bb54a5d3dfe4bc29dba49ff3 Change-Id: Ie08970f9ee283fd75292a8b44a1fca89de4b04eb Reviewed-by: Yuhang Zhao <2546789017@qq.com> Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit ac7e94090fdd0444cd56d46c0fed051481dada02) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Draw QTableView grid lines centered between table cellsTor Arne Vestbø2021-11-081-3/+5
| | | | | | | | | | | | | | | | | We were reserving space between table cells corresponding to one logical pixel, which on retina screen results in two device pixels. By drawing the grid line with a cosmetic pen, we were only filling one of these pixels, leaving space for leftover pixel dust from earlier blits. By drawing with a non-cosmetic pen of size 1, and ensuring that the grid line is drawn at the center of the grid, we end up filling the entire grid line, without overdrawing the table cells. Change-Id: I7f4d2b27380e5a3d221e265a25f7531fdc4a02b3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 2010df52d4c805557255b90da4aaae8c54c443ea) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: Rename QCALayerBackingStore::prepareForFlush()Tor Arne Vestbø2021-11-082-39/+50
| | | | | | | | | The need to finalize the back buffer isn't limited to flushing. Change-Id: I98b04ab49ec27ea536e99462deab8d48a8e40e82 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 4ffdf2270a1341a703b591eb79f40dcc6033a3f1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: Track painted area of backingstore buffer via its dirty regionTor Arne Vestbø2021-11-082-17/+28
| | | | | | | | | | When introducing support for scrolling the backingstore it doesn't make sense to track the painted region explicitly. Change-Id: I370932f02490ac526fb049908f99af678884e807 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 5190e77d87d743a75362ecf933adb466199e8958) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* macOS: Don't defer back/front-buffer swap in CALayer backingstoreTor Arne Vestbø2021-11-081-25/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | CoreAnimation doesn't immediately mark a surface as in use the moment we assign it to a layer, but defers it until the surface has bee picked up by the window server. In theory this would allow us to defer the swap until the next beginPaint(), which would allow painting to the back buffer again before Core Animation has time to flush the transaction and persist the layer changes to the window server, and would also automatically deal with requests to flush without painting anything. But, since a client may do several rounds of beginPaint/endPaint before flushing, we might end up in a situation where we detect that a surface is in use in the middle of several paint rounds, and end up swapping in a new back buffer without copying over the previously painted content, like we do in prepareForFlush. To be on the safe side we swap the back and front buffer straight away. We also need to mark the surface in use, to prevent the same problem from appearing when the window server doesn't pick up the surface in between two rounds of flushes. Change-Id: Ib418852424773c399df710da33a388e8d2c2e92c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io> (cherry picked from commit 38130406ca806799ba812af1dbc849f57af1f64c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Provide a qtpaths wrapper script when cross-building QtJoerg Bornemann2021-11-085-19/+21
| | | | | | | | | | | | | | The qtpaths tool is supposed to replace "qmake -query", and it must be available for cross-builds as a wrapper script like qmake. Re-use the existing facility for creating the qmake wrapper script for creating the qtpaths wrapper script. Fixes: QTBUG-97821 Change-Id: I460bae61a531994422e1c0fba09c79e4aa65713f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 71e490f0baee0d27a45a17886c48f5defbbaea42) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix EntryPointMinGW32Target.cmake to be found in top-level buildJoerg Bornemann2021-11-081-1/+3
| | | | | | | | | | | | | | | This amends commit 67dadc7e3428169778102a6dfab47e2e48c8d17e. We need to copy EntryPointMinGW32Target.cmake to the build dir. The variable config_install_dir contains path relative to the install prefix, and the copy command needs one relative to the build dir (or an absolute one). Fixes: QTBUG-97919 Change-Id: I4e3d735edfb69e27c248191b892422cef572258e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 2c070b6f4d24c56a37d5de71e40d435030254be9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Make sure that all plugin targets are built before deploying to AndroidAlexey Edelev2021-11-082-2/+18
| | | | | | | | | | | | | | | | | | | We need to make sure that all plugin targets are built and present on the file system before running androiddeployqt. This especially important when building executables that depend on qml modules that are built in the project tree. This adds meta target that collects all the plugin targets as dependencies and adds this meta target as the dependency for the custom target that executes androiddeployqt. TODO: We should also take into account MODULE libraries that were added using the CMake add_library call, but since qt6_finalize_project is not a part of 6.2 API, this will be added in follow up commit. Task-number: QTBUG-94714 Task-number: QTBUG-88841 Change-Id: I4b4596eb8ed364dbe80e2cfb0ce31cec32e7c03f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 067a23f2c6f93784ffd699eedd476c82d83c430e)