summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Improve long paths handling for static buildsAlexey Edelev2020-12-031-1/+8
| | | | | | | | | | | | Use number-based naming of object libraries produced for generated resources. This reduces path length of subdirectories for object library targets. Amends 08eb485a006dc2baca42eb280ae60e9f0fc00dff Pick-to: 6.0 Change-Id: I1a449290e8a9b969601a1cc1abc6fdcfc0cd9454 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix documentation of QStringTokenizerAndreas Buhr2020-12-032-12/+28
| | | | | | | | | | | | Documentation of QStringTokenizer was broken, mainly because most parts of the interface were defined in base classes. This patch gets those members into QStringTokenizer itself in order to document them. Task-number: QTBUG-88533 Pick-to: 6.0 Change-Id: Id00a79db4b293958a9c5ed53a518a97721d228c0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove non-existent function QApplication::desktop() from docsAndreas Buhr2020-12-031-1/+0
| | | | | | | | | | The method QApplication::desktop() was removed. This patch removes a line mentioning it in the documentation. Task-number: QTBUG-88533 Pick-to: 6.0 Change-Id: I123e41c342d64da347b9bd59378e52a8e0301c1a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix documentation warnings about QCollator propertyAndreas Buhr2020-12-031-2/+2
| | | | | | | | | | | | The documentation of ignorePunctuation in QCollator did not strictly follow conventions, leading to warnings in building the documentation. This patch fixes this. Task-number: QTBUG-88533 Pick-to: 6.0 Change-Id: Ia1273ec8e440099afe729b54423760ad5ac26290 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* uic: Do not generate QDockWidget::AllDockWidgetFeatures into codeFriedemann Kleint2020-12-031-1/+6
| | | | | | | | | | The enumeration value was deprecated by qtbase/f15aa1fd84e46dfc4d9a78b3a7ba482e42abd9c1 and removed in Qt 6. Pick-to: 6.0 Task-number: QTBUG-89093 Change-Id: Iaf46adc1e1bd79e4aaab066c9fa4bf84a8ee34d0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Avoid signed overflow in mocFabian Kosmale2020-12-031-1/+9
| | | | | | | | | | | | | | | | moc's preprocessor needs to implement certain math operation to correctly handle #if conditions. Unfortunately, its implementation is not overflow safe. However, those are rare enough in practice that we in general do not need to care about them. This patch adds a workaround for one case where UBSAN run into an overflow related issue. A complete fix would require to make moc spec compliant (do math with std::max_(u)int_t operands; always wrap on overflow) in all operations. Pick-to: 6.0 5.15 Fixes: QTBUG-88825 Change-Id: Ic4d2cb097db2fa2f9d4681bbaab3068eaa2745aa Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix event() chaining in QWinEventNotifierAlex Trotsenko2020-12-031-5/+8
| | | | | | | | | We should return the result of the call of the base implementation for all events that we did not handle. Also, QObject::event() does not actually activate any filters, so the comment was inaccurate as well. Change-Id: I9eb2f9a93a6b53a1afd035433615bcc0ee8cbf2c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Remove QGuiApplicationPrivate::m_fakeTouchDeviceShawn Rutledge2020-12-031-1/+0
| | | | | | | It is no longer in use. Change-Id: I810a79c81fe49d855b31e992bf000166247791a5 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix QTranslator::load() search order not following uiLanguages orderKarsten Heimrich2020-12-031-25/+9
| | | | | | | | | | | | Merge the exact and and fuzzy search loop. This way we prioritize translations which match a more preferred language loosely over ones which match a less preferred language exactly. This is likely what most users want. Pick-to: 5.15 6.0 Fixes: QTBUG-86179 Change-Id: Id1610c82a2e77edf9a5d4417968dcc4c307810d5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* QHash: default the argument for the hash calculator helperGiuseppe D'Angelo2020-12-031-1/+1
| | | | | | | Just to be consistent with everything else. Change-Id: I48ceb4bbc1cbf65b03caee77b7405cb585793248 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDuplicateTracker: allow usage of qHashGiuseppe D'Angelo2020-12-031-1/+9
| | | | | | | | | | The codepath using unordered_set forced the usage of std::hash, which isn't provided by many Qt types. Instead, use the brand new helpers in QHash that dispatch to qHash with a fallback on std::hash. Change-Id: I9185fe9c52de05c470afe7466007591977e65bb1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QRE: discourage users from assuming that QRE stores the subjectGiuseppe D'Angelo2020-12-031-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | When matching over a QString we store a (shallow) copy of it. That has always been an implementation detail and people should've never relied on it, but Hyrum's law, we don't want to actually exploit this by NOT taking the copy. Converesely, matching over QStringView already requires that the string data is kept alive as long as QRE(Match) objects are alive. Add a doc note to give us the freedom to do the change in Qt 7. [ChangeLog][QtCore][QRegularExpression] QRegularExpression takes a shallow copy of a QString subject when matching over it. This means that users can destroy or modify the string data while still having match results over it. This behavior is deprecated; in a future version of Qt, QRegularExpression will no longer take a copy. Note that behavior has always been undocumented and users were never supposed to modify a subject string while match objects were alive on it. In practice, it's very unlikely that your code is relying on the existing behavior. Change-Id: Ibc5f900c09a007139fb12fc4d7f11e4a8f31bf38 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QString::fromUtf8: remove a stray cast to intGiuseppe D'Angelo2020-12-031-1/+1
| | | | | | Change-Id: I0dba7ba130c3fa96eda63a0fa1a39c5f0bb863b7 Pick-to: 6.0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QRegularExpression: plaster some [[nodiscard]]Giuseppe D'Angelo2020-12-031-0/+5
| | | | | | | On some of the "most important" API. Change-Id: I800b53bb7b9a95d0184f813e7ba501a7ebd485c0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QString: plaster more and more [[nodiscard]]Giuseppe D'Angelo2020-12-032-24/+23
| | | | | | | The situation was quite inconsistent. Use the attribute more. Change-Id: If21817b4c2ea1148ad4ad80e7a50fab721a58b65 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Dialog: Fall back to transient parent to make dialog window get centeredYuya Nishihara2020-12-031-1/+14
| | | | | | | | | | | | | | | Unlike QWidget-based application, a dialog displayed in QML app doesn't have QWidget parent, so it would be centered in the current screen. Let's fall back to transient parent window if widgetParent() is missing. It's tempting to rewrite adjustPosition() to not depend on QWidget at all, but that seems not easy. Lookup path of window() and transientParentWindow() is slightly different for example, and QWidget::pos() is used instead of mapToGlobal({0, 0}) if the widget is embedded into a native window. Fixes: QTBUG-63406 Change-Id: If72d90aee8d972240243184de4d3c09d77f704ff Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Adjust the format of code blocks in function mouseReleaseEventQiang Li2020-12-031-1/+1
| | | | | | Pick-to: 6.0 Change-Id: I8441b1c4f22ec04e34e8c2c5e9ccc69d34c67e01 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add test for qRoundDavid Skoland2020-12-021-0/+8
| | | | | | | | | Add test for qRound that covers some edge cases for rounding. Note that as of right now, this test fails and the docs have been updated to warn that it should not be depended on for strict correctness. Change-Id: I1a61bca47abd77855fe7c13ded44e913cc7e8722 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix QSet::insert documentationAndreas Buhr2020-12-021-1/+1
| | | | | | | | | | | Documentation for QSet::insert was wrong, leading the warning qset.qdoc:510: (qdoc) warning: clang couldn't find function when parsing \fn iterator QSet::insert(const_iterator it, const T &value) This patch fixes it. Task-number: QTBUG-88533 Change-Id: I587cbae5674b9f38e37753a20c3c3f0d770980d6 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Document QMultiHash::clear functionAndreas Buhr2020-12-021-0/+9
| | | | | | | | | | | When QMultiHash derived from QHash, it inherited the clear function and no separate documentation was necessary. Now, QMultiHash::clear needs its own documentation. This patch adds it. Task-number: 88533 Pick-to: 6.0 Change-Id: I93c59b66aa3d8ccf1888b6e24a4cc47004318e37 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Associative containers: add erase_ifGiuseppe D'Angelo2020-12-026-0/+214
| | | | | | | | | | | | | | | | | | | | Use a trick similar to the one we use for their ranged constructors: support predicates that either take a container's iterator, or that take a std::pair (for STL compatibility). [ChangeLog][QtCore][QMap] Added removeIf() and erase_if(). [ChangeLog][QtCore][QMultiMap] Added removeIf() and erase_if(). [ChangeLog][QtCore][QHash] Added removeIf() and erase_if(). [ChangeLog][QtCore][QMultiHash] Added removeIf() and erase_if(). Change-Id: Ie40aadf6217d7a4126a626c390d530812ebcf020 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Reduce the scope of variable in focusInEvent()Wang Yu2020-12-021-1/+1
| | | | | | | | | The scope of the variable 'frm' can be reduced if the variable 'd->formatExplicitlySet' is true. So declare the variable when the variable 'd->formatExplicitlySet' is false. Change-Id: I27cea412af827d30ad9188106b7f14025e5ddb68 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QDuplicateTracker: remove the appendTo && overloadMårten Nordheim2020-12-021-8/+1
| | | | | | | | | | | As a requirement for unordered_set (and QSet) both "iterator" and "const_iterator" are const, so we cannot reassign or move the key. That means this overload is no different to the const & overload, so we can just remove it. Pick-to: 6.0 Change-Id: Ia14dccf7f610967649bab38161ce6d963509316b Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Http2: don't call ensureConnection when there's no request availableMårten Nordheim2020-12-021-1/+3
| | | | | | | | | | | | | | Previously we only checked if there was something in the h2 queue or if we had not yet switched to http2. These means in some cases that following an error it would enter this branch and, because it had not yet switched to http2, it would call 'ensureConnection' which would try start a reconnection. This could make the proxy socket engines try to emit 'auth required' with no replies, meaning nothing happens. Fixes: QTBUG-88417 Pick-to: 5.15 6.0 Change-Id: If37b8c71ac36597adc305fb1b1ea4fa7b48b0d28 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Http2: Remove errored-out requests from queueMårten Nordheim2020-12-021-0/+1
| | | | | | | | | | | | | | | | | | The requests will remove themselves once they get deleted but since the deletion is done through a _queued_ invokeMethod to 'deleteLater' we will call QHttpNetworkConnection::_q_startNextRequest first which may end up starting a reconnect of the TCP socket which we had the error on. In this specific instance it manifested as a race condition where we either don't get a proxyAuthorizationRequired signal at all (it was emitted while we didn't have any valid replies), or we get the signal emitted too late and it gets emitted on whatever the next reply was. Task-number: QTBUG-88417 Pick-to: 5.15 6.0 Change-Id: If3f8ececc5550f1868c90124559cb8e3029646d8 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QSet: add insert(T&&)Mårten Nordheim2020-12-021-1/+3
| | | | | | | | | | | | | | We already have all we need in QHash to support this, so the addition is simple enough. Add test checking how many copies and/or moves are needed for a single insert. As a drive-by: remove some unneeded static_cast Change-Id: Iaf768657644afa45f78f5c81ffcf89ba9607be96 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QList docs: extend prepend() descriptionIvan Solovev2020-12-021-5/+6
| | | | | | | | | | | | Current description was confronting the general description of the class, which states that prepend() is fast. The updated description gives more information about the method's behavior in different conditions. Pick-to: 6.0 Task-number: QTBUG-87962 Change-Id: I7b6dfb536d143d78c441214f83320c1bf1263e0d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QLatin1String: documentation updatesIvan Solovev2020-12-021-61/+246
| | | | | | | | | | | | | | | Some updates for QLatin1String documentation: - Update signatures of some methods - Update outdated description for several methods - Add missing docs for friend operators - Wrap descriptions at 80 characters Pick-to: 6.0 Task-number: QTBUG-87962 Change-Id: I1c3c5ce2a6f4f57f92ab503a734c8244fe7cd7c5 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add qt5compat as a dependency to qtxml documentationAndreas Buhr2020-12-021-1/+1
| | | | | | | | | | | QXmlSimpleReader was moved to qt5compat. In the qt6 migration guide, we would like to point to it. This patch adds qt5compat to the dependencies of QtXml documentation in order to be able to do this. Task-number: QTBUG-88533 Pick-to: 6.0 Change-Id: Ifaad595862b80d31310ed594e21168cec56133a0 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Fix links to Application ExampleVolker Hilsheimer2020-12-0211-16/+18
| | | | | | | | | | The example was renamed in 6cb36d825d365988ea7a601218bdd3a329290469. Pick-to: 6.0 Change-Id: Ic9daac60002c9988dfeb5c7dcde74edb69388f37 Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Jason McDonald <macadder1@gmail.com>
* QString/QByteArray: add erase/erase_ifGiuseppe D'Angelo2020-12-014-0/+100
| | | | | | | | | | | | | [ChangeLog][QtCore][QString] Added erase() and erase_if() for consistent container erasure. [ChangeLog][QtCore][QByteArray] Added erase() and erase_if() for consistent container erasure. Change-Id: I23e8565d39044c1f1d756500589c1f2b65e1a88f Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix link to qHash documentationVolker Hilsheimer2020-12-011-1/+1
| | | | | Change-Id: Idd72530464aae24fd0e5c144d0de663609632f68 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSet: add erase_ifGiuseppe D'Angelo2020-12-013-0/+38
| | | | | | | | | [ChangeLog][QtCore][QSet] Added erase_if() for consistent container erasure. Added removeIf() as a method. Change-Id: I4af57b654036aa08bee3f769ab2f60be37115094 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Sequential general purpose containers: add erase/erase_ifGiuseppe D'Angelo2020-12-015-22/+187
| | | | | | | | | | | | | | | | | | | | This is refactor/revisit for Qt 6 of the original commit [1] by Marc, limited to QList and QVLA. [1] see 11aa9a2276ba5367adbbd96d0ba13111d58145f8 [ChangeLog][QtCore][QList] Added erase() and erase_if(), for consistent container erasure. Added removeIf() as a method, complementing removeOne() / removeAll(). [ChangeLog][QtCore][QVarLengthArray] Added erase() and erase_if(), for consistent container erasure. Added removeIf() as a method, complementing removeOne() / removeAll(). Change-Id: I2499504e221431ead754dd64cc8a4d4e9f116183 Done-by: Marc Mutz Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QMap: code tidiesGiuseppe D'Angelo2020-12-011-22/+22
| | | | | Change-Id: I3a88cb2d307a44022df6d6045d99acfc9b1a1a0e Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QProcess/Unix: remove redundant checks in waitForReadyRead()Alex Trotsenko2020-12-011-10/+7
| | | | | | | | | QProcessPrivate::tryReadFromChannel() returns 'true' only if we emitted readyRead() signal on the current read channel. Thus, these additional checks are unnecessary. Change-Id: Id98620cd08ee8808f60539c009986b869e517ef0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Silence code checker warningsLars Knoll2020-12-011-2/+3
| | | | | | | Pick-to: 6.0 Change-Id: I8bd8d830ade3e194f423e00f180c50b176a8adc8 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Add a way to check whether a metatype has datastream operatorsLars Knoll2020-12-012-1/+15
| | | | | | | | | Add QMetaType::hasRegisteredDataStreamOperators() to complement the method to check whether a data stream operator exists. Fixes: QTBUG-82916 Change-Id: Ib2f841131b7c401d5a3ae76d49104e41697c4eac Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix memory leaks in QFuture's continuationsSona Kurazyan2020-12-014-27/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | There were two issues: - Some of the continuations were allocating memory for the continuation's context dynamically, but deleting the allocated memory only if they were actually invoked. Since the continuations may not be invoked at all, this could cause memory leaks. Fixed by postponing the allocations to the point when the continuations need to be invoked. - In other cases the parent future is captured by copy in the continuation's lambda, which is then saved in the parent. This causes the following problem: the data of the ref-counted parent will be deleted as soon as its last copy gets deleted. But the saved continuation will prevent it from being deleted, since it holds a copy of parent. To break the circular dependency, instead of capturing the parent inside the lambda, we can pass the parent's data directly to continuation when calling it. Fixes: QTBUG-87289 Change-Id: If340520b68f6e960bc80953ca18b796173d34f7b Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io> (cherry picked from commit 5d26d40a5596be048be87f309df9264bac741be9) Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* QHeaderView: fix spurious sortingGiuseppe D'Angelo2020-12-012-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QHeaderView sorting may be triggered when the user performs some mouse interactions that should really not result in sorting. Generally speaking, this happens when the user: * presses on a non-movable section (A) * moves on another section (B) * releases on that section resulting in B becoming sorted / flipping sorting. (Non-movable is required, otherwise dragging would cause section moving, not sorting.) To make the matter worse, QHeaderView doesn't check that the release happens within its geometry. This makes sense when moving sections: one is able to drag a section horizontally/vertically even if the mouse leaves the QHeaderView. But when not moving sections, this means that one can * press on section (A), * move the mouse anywhere vertically (for a horizontal bar, mut.mut for a vertical) above or below another section (B), that is, outside QHeaderView's geometry * release the mouse and cause B to be sorted. Fix it by 1) remembering which one was the section that the user originally clicked on; that's the only one that can possibly become sorted (if we're not moving and other conditions hold). No other variable seemed to remember this. 2) on release, check that it happens within that section's geometry. If so, sort. Pick-to: 6.0 5.15 Change-Id: Icfb67662221efbde019711f933781ee1e7d9ac43 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Fix documentation links to High DPI documentationAndreas Buhr2020-12-013-8/+8
| | | | | | | | | | | The documentation on High DPI was recently rewritten, renaming several sections. This patch fixes the links which were broken by this change. Task-number: QTBUG-88533 Pick-to: 6.0 Change-Id: I5e9417554270a6740986d7cec5e3433d043e5560 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QProperty: Avoid spurious dependencies by suspending binding stateFabian Kosmale2020-12-013-9/+36
| | | | | | | | | | Avoid spurious bindings by resetting the binding state before calling the setter of eager properties. Fixes: QTBUG-88999 Pick-to: 6.0 Change-Id: I1e3b5662307d906598335a21d306be9c606529d4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add a note about where to declare the streaming operatorsLars Knoll2020-12-011-1/+2
| | | | | | | | | | | | Streaming operators for types used together with QMetaType should get declared in the same namespace as the type itself because of C++s ADL rules. Add a note about that to the documentation. Pick-to: 6.0 Fixes: QTBUG-88990 Change-Id: I5d687576c6d926823dd0f1fec0743e877ae271af Reviewed-by: Robert Griebl <robert.griebl@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix documentation of QPartialOrderingAndreas Buhr2020-12-011-16/+6
| | | | | | | | | | | | | | | | qdoc did not find the hidden friend comparison functions at gave errors like qcompare.qdoc:82: (qdoc) warning: clang couldn't find function when parsing \fn bool operator==(QPartialOrdering p1, QPartialOrdering p2) noexcept This patch documents them as if they were class members to fix this. Document the constants as \variables. Task-number: QTBUG-88533 Pick-to: 6.0 Change-Id: Ife56f16894e454f324060aeb73f66aba2d45e530 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QProcess/Win: improve reading in waitForBytesWritten()Alex Trotsenko2020-12-011-8/+2
| | | | | | | | | | | | | | | On Windows, tryReadFromChannel() just publishes the data that was already buffered by the pipe reader. Reading from the pipe was still possible only because the pipe writer enters an alertable wait state which can trigger an I/O callback for the read operation as well. This made the implementation unclear and tied to APC behavior. To avoid this, we now call the "proper" pipe reader wait function instead, which also unifies the code with the other waitFor...() implementations. Change-Id: I7376d7973477a722472ff8763f95f39e6ea2fce9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* qsocks5socketengine: use qintptr when referring to socket descsMårten Nordheim2020-12-011-1/+1
| | | | | | | | One patch from many years ago already did most of it, but the key of the hash was still int. Change-Id: I557fa19d2573addbef7557d1a16fdd6554a117cc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSocks5SocketEngine: Add missing return on errorMårten Nordheim2020-12-011-0/+4
| | | | | | Change-Id: I199b7156c280e02c3ce37bd72ba0dc1febf10fe9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* CMake: Allow WIN32 and MACOSX_BUNDLE arguments for qt6_add_executableCristian Adam2020-12-011-0/+1
| | | | | | | | | | | | | | | qt6_add_executable will forward all arguments to add_executable, which works fine on Windows and macOS in regards of WIN32 and MACOSX_BUNDLE arguments. On Android however add_library is being used, and those arguments need to be removed otherwise they will be consided as source files. Pick-to: 6.0 Fixes: QTBUG-88926 Change-Id: Id22fdf91d58d9053eaad2d3c080ea72060d928c0 Reviewed-by: Craig Scott <craig.scott@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Cosmetic stroker: avoid overflows for non-finite coordinatesEirik Aavitsland2020-12-011-0/+2
| | | | | | | | | | | | | | int overflows are usually avoided by clipping the qreal coordinates to the device rect. However the clip function did not handle inf or nan coordinates, so such values would be passed on. Fix by treating any line with such coordinates a fully clipped away, i.e. rejecting it, since it cannot be meaningfully stroked anyway. Fixes oss-fuzz issue 25330. Pick-to: 6.0 5.15 5.12 Change-Id: I4646172fc7a7e0a3a5f5cf03ce10ff0fb56b0d03 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Robert Loehning <robert.loehning@qt.io>
* Fix documentation of QMetaType::TypeFlagAndreas Buhr2020-12-011-1/+1
| | | | | | | | | | | QMetaType::TypeFlag::IsQmlListType was renamed to QMetaType::TypeFlag::IsQmlList . This change was not reflected in the documentation. This patch adapts the documentation to this change. Task-number: QTBUG-88533 Pick-to: 6.0 Change-Id: I70be218f5f72b42aacb15ecd46972d5c808d86de Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>