summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix OpenGL mode in examples like compositionLaszlo Agocs2020-06-091-3/+5
| | | | | | | | | | | | | | To avoid an incorrect offset for the native window, call create() after createWindowContainer(). The mysterious -1 for the width and height are removed as well because otherwise the GL window's size is clearly off by one. Fixes: QTBUG-82195 Pick-to: 5.15 Change-Id: I1a9cec62746fc110bfc4cd2e4fa111f621124638 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move the Windows Event Dispatcher into QtGuiFriedemann Kleint2020-06-0923-88/+87
| | | | | | Task-number: QTBUG-83255 Change-Id: Ida86f27d7f52b9be48fbea909979320866ff8dae Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* macOS: Add a few more local autorelease pools to QCocoaGLContextTor Arne Vestbø2020-06-091-0/+6
| | | | | | | | | | Prevents buildup of autoreleased NSViews (drawables) in the outer pool of the main runloop, which may not drain as often as we wish. Change-Id: Ifcf7317c50ec243e0d957bf4a19aab8bf34d5dd6 Fixes: QTBUG-84762 Pick-to: 5.15 5.12 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Remove deprecated methods and address some ### Qt 6 comments in gui/textVolker Hilsheimer2020-06-095-86/+2
| | | | | Change-Id: If1ed58ecbb13df88bdb1d72caccfd01c14d42eac Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Always add an empty json file to MOC_JSON_FILESUlf Hermann2020-06-091-0/+9
| | | | | | | | | | This way the metatypes files are generated even if there are no metatypes in the module. This is necessary in order to generate empty QML modules, which in turn is useful if we only want e.g. URL interceptors in a module, but not types. Change-Id: Ief949cfebe831b69353a75d0da15ee347995051c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix failing plugin tests on MinGWAlexandru Croitor2020-06-094-0/+23
| | | | | | | | | | | MinGW plugins should not have the lib prefix in the shared library names. Do this manually for a couple of libraries, and also for the generic qt_add_cmake_library function. Amends 9b0e23ef8a915a8c58808fa356f771ecdb6f020c Change-Id: I1cfaf8fc046f86edd3e755adfa599aa0aa854ee3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QPointer: add get()Giuseppe D'Angelo2020-06-092-0/+9
| | | | | | | | [ChangeLog][QtCore][QPointer] Added get() for STL compatibility. Change-Id: I84bf9d58cd92e1bc74f731c3e9002031045f8f5c Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QArrayData: stop using std::is_literal_typeGiuseppe D'Angelo2020-06-091-10/+2
| | | | | | | | The trait is deprecated in C++17 and removed in C++20. Enforce the same meaning by using a constexpr variable instead. Change-Id: Ief13afc3f889af09094391e626037778d879c4f5 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Gif decoder: Harden handling of corrupt filesEirik Aavitsland2020-06-091-2/+5
| | | | | | | | Fix potential UB for corrupt files. Pick-to: 5.15 5.12 Change-Id: If5d1b859a03b09e3479a6a7adaaf3432958126b4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add deprecation warnings to QGuiApplication::fontChanged/paletteChangedVolker Hilsheimer2020-06-082-2/+8
| | | | | | | And silence those warnings in code that emits those signals. Change-Id: Ic9013648060c9b84b59c44bb5a8c77e48f82d24f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Merge QWindow::parent overloadsVolker Hilsheimer2020-06-082-13/+1
| | | | | Change-Id: Ibec0f41de16694c38cf24fcdd4eeba74df62a1dd Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Unexport private classes that are no longer used outside QtWidgetsVolker Hilsheimer2020-06-083-6/+3
| | | | | | | | Address ### Qt 6 comments for QFramePrivate, QAbstractScrollAreaPrivate, and QGraphicsTransformPrivate. Change-Id: I9407c03247c7ea41decce6f9c289c16ad8bf0c3f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Phase 2 of removing QDesktopWidgetVolker Hilsheimer2020-06-0872-679/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove QDestopWidget public header, simplify the implementation that maintains a Qt::Desktop type QWidget for each QScreen, and turn QWidget's initial target screen into a QScreen pointer. QApplication::desktop() now takes an optional QScreen pointer, and returns a QWidget pointer, so that applications and widgets can get access to the root widget for a specific screen without having to resort to private APIs. QDesktopWidgetPrivate implementations to look up a screen for an index, widget, or point are now all inline functions that thinly wrap QGuiApplication::screens/screenAt calls. We should consider adding those as convenience APIs to QScreen instead. Note that QWidget::screen is assumed to return a valid pointer; there is code that handles the case that it returns nullptr (but also code that trusts that it never is nullptr), so this needs to be defined, verified with tests, and asserted. We can then simplify the code further. Change-Id: Ifc89be65a0dce265b6729feaf54121c35137cb94 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Replace calls to deprecated QEvent accessor functionsShawn Rutledge2020-06-0899-742/+742
| | | | | | | Many of these were generated by clazy using the new qevent-accessors check. Change-Id: Ie17af17f50fdc9f47d7859d267c14568cc350fd0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Prepare to harmonize pointer event accessor namesShawn Rutledge2020-06-082-115/+249
| | | | | | | | | | | | | | | | | | | | | | | ...by deprecating everything that doesn't conform to the naming scheme, and providing replacements. Continues what was started with QWheelEvent in 7d29807296cb7ccc7f3459e106d74f93a321c493. However QMouseEvent::pos() is left un-deprecated because it's so widely used. Also quit returning QPointF by const-ref from accessors. It's plenty small enough to return by value; we were never consistent about it anyway; and it's good to avoid some problems with returning a reference to a temporary in case the value is calculated in the accessor. [ChangeLog][QtGui][QPointerEvent] Mouse, touch and tablet events now have a standard set of QPointF accessors: position(), scenePosition() and globalPosition(). Existing accessors that return integer QPoints, and those with non-standard names, have been deprecated. You can use the clazy qevent-accessors check to update your code accordingly. Task-number: QTBUG-20885 Task-number: QTBUG-84775 Change-Id: I8e6f587da76d6d0bca6e965ce8ebc7e67b868011 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QNetworkInterface (Unix): port two local tracker (QSet/QLVA) to ↵Marc Mutz2020-06-081-10/+9
| | | | | | | | | | | QDuplicateTracker Apart from a more fitting, minimal, API, QDuplicateTracker also transparently uses C++17 pmr::monotonic_buffer_resource to avoid, or at least reduce, memory allocations. Change-Id: I025504c7d22fb7a8c943e3968e4613d45c08d0b3 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* CMake: Save OPENSSL_ROOT_DIR in QtBuildInternalsExtraAlexandru Croitor2020-06-081-0/+10
| | | | | | | | | | | This is needed so that other repos other than qtbase (like qtopcua) can still find_package(WrapOpenSSL) successfully. The path needs to be converted to a CMake path, to avoid issues on Windows with backslashes. Change-Id: I3d7652d93110f6b8f39a58a6c28aef6c7471aea7 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Don't reset install prefix upon standalone test reconfigurationAlexandru Croitor2020-06-081-12/+4
| | | | | | | | | | | | | | | | | | | | CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT might be empty on the first configuration, but because QtBuildInternalsExtra sets the CMAKE_INSTALL_PREFIX, a second reconfiguration of a test would stop setting the fake install prefix. After some further consideration, there's no need to set the local fake prefix conditionally, we can always do it (unless explicitly opted out). This makes sure that a reconfiguration of a test doesn't suddenly install into the Qt prefix again. Amends 37b132cd4e081821ddc261d24abe8f914123547a Task-number: QTBUG-84346 Change-Id: Ic61aefe18418658455d8cdb9ebe6bcbcb8d67c99 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* QResource: Use some qUtf16Printable() instead of toLocal8Bit().data()hjk2020-06-081-6/+6
| | | | | Change-Id: Ia255052ea33e7d7fccb0627accd20315bbe5d393 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Remove deprecated text-related enumsEskil Abrahamsen Blomfeldt2020-06-0812-152/+26
| | | | | | | | Fixes: QTBUG-82367 Change-Id: Iff2645759657f8e350754e90e791dbd583017671 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Win: Choose a suitable font in tst_QTextLayout::textWidthVsWIdthEskil Abrahamsen Blomfeldt2020-06-081-0/+3
| | | | | | | | | | | | | | | | | The default font on Windows 10 (Segoe UI) will return the wrong minimum right bearing at some sizes, which will cause us to skip the textWidthVsWIdth() test at some scale factors, since we cannot trust the layout to be perfect in this case. Based on experiment, Arial is more accurate, so in order to avoid skipping the test, we default to this on Windows instead. (Note: The problem has not been observed with the default fonts on Linux or macOS, so we only do this for Windows specifically.) Task-number: QTBUG-84415 Pick-to: 5.15 Change-Id: I8cdb5d0d9922915a6ed1574d62a561dda0e1dc5d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* CMake: Do not create Qt6ToolsConfig[Version].cmake filesJoerg Bornemann2020-06-082-54/+0
| | | | | | | | They are not necessary, and they conflict with what qttools generates. Fixes: QTBUG-82133 Change-Id: I4a1273d694626345b32b45c653dd31d3b78621eb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Check for valid Navigator.permissions before useMorten Johan Sørvig2020-06-081-3/+4
| | | | | | | | | | | | | Safari on iOS now supports the Navigator.clipboard API, but not the Navigator.permissions API. Looks like we have not encountered this combination Before. Add undefined check for permissions as well. Fixes: QTBUG-84658 Pick-to: 5.15 Change-Id: I99ab08fd34bbb29a82661e24bf400c927f3604f6 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Fix deprecation warning, use char16_t instead of quint16/ushortVolker Hilsheimer2020-06-081-2/+2
| | | | | | Change-Id: I4021abb901260c3e27cefd81b3acd5ac198941c8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Doc: Update global documentation config for Qt 6Topi Reinio2020-06-085-19/+15
| | | | | | | | | | | | | | - Set base URL path to /qt - Define 'qt6' for use in conditionals - Omit \since information for everything introduced before Qt 5 - Make use of the new expandable variables to allow component-specific URLs in commercial templates - Adjust CSS for changes in QDoc's output Change-Id: I74581f0fb49cd176f92d6451c388e7b7ddf1baa4 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Make the QFontCache size configurableMartin Jansa2020-06-081-2/+4
| | | | | | | | | | It can be configured using the QFONTCACHE_MIN_COST define when configuring Qt. Change-Id: I41fb781099c4c0f03c378f10c8db4ea06ef4e9ff Task-number: QTBUG-83127 Reviewed-by: Risto Avila <risto.avila@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Implement first/last/from and slice() for string-like classesLars Knoll2020-06-087-50/+369
| | | | | | | | | | | | These methods are scheduled as a replacement for left/right/mid() in Qt 6 with a consistent, narrow contract that does not allow out of bounds indices, and therefore does permit faster implementations. Change-Id: Iabf22e8d4f3fef3c5e69a17f103e6cddebe420b1 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QSsl: port a local QStringList to QDuplicateTrackerMarc Mutz2020-06-082-4/+19
| | | | | | | | | | | | Apart from a more fitting, minimal, API, QDuplicateTracker also transparently uses C++17 pmr::monotonic_buffer_resource to avoid, or at least reduce, memory allocations. The code is the first user of the collected data, so make that available by adding QDuplicateTracker::appendTo(Container&) methods. Change-Id: Ibd8810c0070db7e6b3ead6d6a569facdab88b646 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Doc: Style the \section3 and \section4 titlesVenugopal Shivashankar2020-06-081-1/+11
| | | | | | | | | | | This should help visually differentiate between the section titles and the normal text. Change-Id: I5594aac0e0036509e7397999c3df21a90d474d60 Fixes: QTBUG-82694 Pick-to: 5.15 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Use static function instead of lambda to workaround a MSVC compiler bugFabian Kosmale2020-06-081-58/+70
| | | | | | | | | | | | The seemingly useless template parameters are needed to avoid a (distinct) bug in MSVC 2019 < 16.6, and should be removed once we have a newer version in the CI. Task-number: QTBUG-82945 Fixes: QTBUG-83600 Change-Id: I5b22a2259aa16ae90eca7d4f3bd2e4fa1116a73b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Example compile fix with namespaced Qthjk2020-06-081-3/+1
| | | | | | | | This uses the "unneeded #include" approach, as this looks less ugly than the QT_{BEGIN,END}_NAMESPACE decoration. Change-Id: I03b6cf3ebf464134fe78ab49cbbad70c0b5fd42a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add the 'accessiblebridge' as a plugintype of gui moduleJeongBong Seo2020-06-083-3/+6
| | | | | | | | | This patch makes the 'accesiblebridge' plugin configurable. Change-Id: I99f01fcd434be25bbbe5460bbc8cc1d76aa744b9 Task-number: QTBUG-83126 Pick-to: 5.15 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Move some flaky text tests into LancelotEskil Abrahamsen Blomfeldt2020-06-087-245/+287
| | | | | | | | | | | | | | | | | | | | | There are some slight differences between normal drawText() and QGlyphRuns/QStaticText for decoration widths in certain fonts. We decided to accept this and tried working around it in the test by using ForceIntegerMetrics (since the difference is < 0.5 pixel). This enum has been deprecated, so we move the tests into Lancelot instead, since the idea here is to test for regressions, not to compare the two painter commands. Note that there is something off about decorations with drawGlyphRuns() and drawStaticText() which is exposed (not caused) by this, perhaps related to using a matrix for positioning, since that was untested before. This also takes the liberty of moving the emoji test string from text.qps, since this was not in the statictext.qps yet. Change-Id: Ib2d697095cbd11829cdd50b3c0268c85e9607c78 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Fix build without features.menubarTasuku Suzuki2020-06-082-1/+9
| | | | | Change-Id: If7ad6f4c50936d2abf8b88859cb3a8a6189df152 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QWindowsFontDatabase: replace a QPair with a dedicated structMarc Mutz2020-06-073-5/+20
| | | | | | | | | | | | | Pairs are easy to use, but they have no semantics attached: Two QPair<QString, QString> compare equal, e.g., even though one is used as a FontAndStyle and the other as, say, a type/subtype. It also carries no information for the reader of the code. So, write a minimal struct with equality and qHash() instead. Change-Id: I9514c9b7d6c2cc6a4831f9ca83ca2ee466d91553 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* ItemModels: remove deprecated functionsChristian Ehrlicher2020-06-077-139/+2
| | | | | Change-Id: Id3430493a62b11977f64e146f7668ca30935b959 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Doc: add missing PatternSyntax documentation to QSslCertificateSamuel Gaist2020-06-071-0/+18
| | | | | | | | | | | This patch adds the missing documentation for the new QSslCertificate PatternSyntax enum which replaces the one from QRegExp. Fixes: QTBUG-84464 Pick-to: 5.15 Change-Id: Icf092f42ad4dff9207ca51dfd8b4fb8ed6443ff2 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QAbstractItemModel: remove deprecated setRoleNames()Christian Ehrlicher2020-06-0710-60/+39
| | | | | | | Remove setRoleNames() and all its now unneeded helper functions. Change-Id: I0a83751aace35700655d4cc7c79278325994cbdd Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove winrtOliver Wolff2020-06-06530-24933/+898
| | | | | | | | | Macros and the await helper function from qfunctions_winrt(_p).h are needed in other Qt modules which use UWP APIs on desktop windows. Task-number: QTBUG-84434 Change-Id: Ice09c11436ad151c17bdccd2c7defadd08c13925 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove unused argument from methodLars Knoll2020-06-061-31/+31
| | | | | | Task-number: QTBUG-84635 Change-Id: I9a1789e0481977e9fa26a915ff3bc776d0a37e75 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Remove unused function pointers in QVariant::HandlerLars Knoll2020-06-064-37/+2
| | | | | | Task-number: QTBUG-84635 Change-Id: Icfbd1aae26b0453426d93e0af64d84d6403b8e3b Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* QDir: port from QStringRef/split() to QStringView/tokenize()Marc Mutz2020-06-061-12/+28
| | | | | | | | | | | | Port away from random-access of the returned sequences. That's neither necessary nor does it make the code more readable than the alternative single-pass implementation used here. As a drive-by, make applying NRVO more likely by re-using the `result` variable for all returns after its declaration. Change-Id: I2c3bbaefa6b6f08ebf0b90fb7be62e3c6243f19d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QVariant: use std::addressof instead of operator&Giuseppe D'Angelo2020-06-061-1/+3
| | | | | Change-Id: If7172e9e0e213d99f0c54b387dde8f9e163109d0 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QVariant: move and swap in the move assignment operatorGiuseppe D'Angelo2020-06-061-1/+1
| | | | | | | And not pure swap. As per policy, QVariant must leave the rhs empty. Change-Id: I2d5e0f584c4d4fffd05a0a5bfae27ddcb72430e9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QVariant: remove UB and fix semantics in a testGiuseppe D'Angelo2020-06-061-4/+4
| | | | | | | | | | | The code was reading from uninitialized memory when creating a variant. Fixing that reveals that the test semantics are broken: when dealing with datatypes without a registered operator==, QVariant resorts to memcmp, so the two objects would've actually compared equal. Amend that. Change-Id: I36bad7ee6a45154d5d534b7dd8b618cc0a900126 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* qmake: Stop using -isystem flagDmitry Shachnev2020-06-065-17/+3
| | | | | | | | | | | This option changes the order of include paths, which can cause problems of various kinds. See https://bugs.debian.org/958479 for an example. The benefit of that option is minimal for what it was intended. Pick-to: 5.15 5.12 Change-Id: I80eeabd09764df290b60bc59aeb2f90d07723608 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QString/View: add tokenize() member functionsMarc Mutz2020-06-066-2/+264
| | | | | | | | | [ChangeLog][QtCore][QString, QStringView, QLatin1String] Added tokenize(). Change-Id: I5fbeab0ac1809ff2974e565129b61a6bdfb398bc Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix build without features.cborstreamwriterTasuku Suzuki2020-06-068-0/+16
| | | | | Change-Id: I970d21d7ac97a602a5f374f6c89cd4bfdcd847b8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* cmake: quote paths to prevent issues when no install prefix is setJean-Michaël Celerier2020-06-052-2/+2
| | | | | Change-Id: Ifa7f1ef70c4893e10cb4ce9a54d8a0806d19be93 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove QThreadPool::cancel()Allan Sandfeld Jensen2020-06-054-101/+0
| | | | | | | Deprecated in 5.9 Change-Id: Ib6e2a5da1e7ee2664fb6fa496bdc880fab870901 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>