Commit Graph

48393 Commits

Author SHA1 Message Date
Volker Hilsheimer
60eb306efe QAbstractItemView: Don't allow CopyAction for InternalMove views
Otherwise the default action will be Copy, and the (+) cursor will show when
moving items in e.g a QListView/Widget, even though the item will actually
be moved.

The documentation of InternalMove states clearly that "The view accepts
move (not copy) operations only from itself.".

Task-number: QTBUG-87057
Pick-to: 5.15
Change-Id: Idaa9e8f84623ced51b1c51a3730466dc0678d6b3
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-10-01 21:10:05 +02:00
Allan Sandfeld Jensen
ecfda98d1f Remove unnecessary ref-counting of QRunnable
It could never be higher than 1 anyway.

Change-Id: If33c7978a4397a08e9eb091926726725d8bd3ea6
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-10-01 17:23:42 +02:00
Alexandru Croitor
4940f6d04c CMake: Remove old Qt 5 CMake build system files
Remove the stale Qt 5 CMake files.

Disable the generation of CMake files by the qmake build system,
it wouldn't create usable Qt 6 files anyway.

Keep mkspecs/features/create_cmake.prf and
mkspecs/features/cmake_functions.prf for now until we can confirm that
they are safe to remove.

Task-number: QTBUG-86827
Change-Id: Idcf59f4d7d5474171a9bf72904ff19adc8bc74cd
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-10-01 14:57:16 +02:00
Alexandru Croitor
081ec14b25 CMake: Clean up the public API a bit
Add some missing versionless functions.
Rename some functions that are not meant to be public API, and their
usages.

Task-number: QTBUG-86827
Change-Id: Ifb66c04cd7598d83fe80c01a92ab2d269ebaf396
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-10-01 14:57:12 +02:00
Joerg Bornemann
84485dfad3 CMake: Fix -[no-]warnings-are-errors configure argument
The CMake build uses the WARNINGS_ARE_ERRORS variable, and the feature
warnings_are_errors exists only in the qmake build.

Change-Id: I1e548b30b210b3dd1b2f23041d490a981312f4ba
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-10-01 14:56:23 +02:00
Joerg Bornemann
077ea0c633 configure: add -qmake argument
This option configures Qt with the qmake-based build system.
Currently, this is the default, so this option is a no-op until the
default switches to CMake.

Task-number: QTBUG-87049
Change-Id: I56f3080a4f1423788ffb743287a7b2e67a8e2cc4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-10-01 14:34:05 +02:00
Allan Sandfeld Jensen
e750fa8509 Do not assert on invalid ICC curv table
Reject invalid table data, do not assert it.

Pick-to: 5.15
Change-Id: I1fdda4c735bb97bb93ac8f8654ac4cc5fada5389
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-10-01 12:20:39 +02:00
Allan Sandfeld Jensen
fe36d47b37 Fix race condition in QThreadPool::clear
Since we drop the lock while deleting threads, we need to handle
the queue possibly being accessed and changed by the pool threads
while clear() is running.

Pick-to: 5.15
Fixes: QTBUG-87092
Change-Id: I7611edab90520454278502a58621e299f9cd1f6e
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-10-01 12:15:22 +02:00
Lars Knoll
4d943225eb Add a QVariant::compare() method
Add a method that allows comparing two variants. The method returns
a std::optional, as comparing two variants of different type is not
meaningful, or the types could not be comparable.

Change-Id: If4ae838d671e051dda1b474f25a2f9dcf85dc265
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-10-01 12:15:22 +02:00
Volker Hilsheimer
f518f01be6 Fix qdoc warnings for QMap/QMultiMap
These containers have most of their operators as non-members,
except those declared as hidden friends in the iterator classes,
which will be fixed in qdoc.

QMultiMap doesn't have an operator[] (which might be unintentional).

Deprecate QMultiMap::insert/insertMulti APIs, as the documentation
suggests that those are just compatibility overloads.

Add documentation for the rvalue-overload of QMap/QMultiMap::insert.
Note that this overload does not exist for QHash/QMultiHash. Also,
it seems from the implementation that the moved-from map is not reset
to the empty map if it did share data with another copy.

Not addressed: QMap and QMultiMap have the special 5 implicitly
generated by the compiler, so these functions are not declared
anywhere, which results in qdoc warnings. qdoc could generate the
documentation automatically, if it can know that those members exist.

Change-Id: I0608b57c8c3793fedd304a4c7b10e607a24ad5f6
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-10-01 12:15:22 +02:00
Allan Sandfeld Jensen
752665cd9c Revert "Reimplement non-antialiased cosmetic pen"
This reverts commit 81008ef4b9.

Reason for revert: Doesn't handle line-caps correctly.

Change-Id: I0c77dbef6671fec326ec27f492ea3214054829ab
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2020-10-01 07:06:32 +00:00
Thorbjørn Lindeijer
77ae1b6b3e QFileInfo: Allow constructing from QFileDevice
Also allow QFileDevice argument to QFileInfo::setFile.

This parameter change allows conveniently constructing a QFileInfo from
a QSaveFile, in addition to QFile.

Change-Id: I71244cb79b1cf92425eaff0e6de13524de562e0f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-10-01 04:56:31 +02:00
Volker Hilsheimer
0f8848b7e2 Remove deprecated QProcess::pid
Change-Id: I6bce5b374a9e22f0a3d67755dbd0f8e14458ce3b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-10-01 02:56:05 +00:00
Volker Hilsheimer
3fb8f9e44e Properly deprecate QProcess::pid
Address an old ### Qt 5 comment. The method has been documented as deprecated
and replaced by QProcess::processId since at least Qt 5.9, so we can first
properly flag it as such for 5.15.2, and remove it from Qt 6 in a follow-up
commit.

Change-Id: Ic4e3351740617083b16723db8eef7a341bccfbf6
Pick-to: 5.15
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-10-01 04:55:47 +02:00
Shawn Rutledge
8f74f7d25b tst_qwindow: verify isBeginEvent(), isUpdateEvent() and isEndEvent()
It also demonstrated that the tests were out of sync with reality:
since a97759a336c597327cb82eebc9f45c793aec32c9 QMouseEvent::button()
and QWindowSystemInterfacePrivate::MouseEvent::button should be the
button that changes state of course; but when a button is pressed,
we are reacting to it after the fact, so QMouseEvent::buttons() and
QWindowSystemInterfacePrivate::MouseEvent::buttons should include the
new button that was just pressed.  Likewise when a button was released,
we send the event with buttons _omitting_ the button that was just
released.

Amends 147a8bc4c8 and
6d6ed64d6c

Change-Id: I670289019fcfa7de685ca38799804772dc0f1c8f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-30 23:17:57 +02:00
Shawn Rutledge
871d19a5b9 Treat a double-click event as an update event with stationary point
The sequence is still press, release, press, double-click, release.
isBeginEvent() should not be true for a double-click event: the second
click began with a normal MouseButtonPress, and the MouseButtonDblClick
event is a way of sending updated state to tell the recipient that the
second click was special, occurring within such spatial and temporal
constraints that it can be interpreted as a double-click.
It never has a different position either, because MouseButtonDblClick
is a synthetic event occurring at the same position as the second press;
so we might as well say its QEventPoint is Stationary.

Together, these changes fix tst_controls::Basic::DelayButton::test_mouse
in Controls 2, without any changes in qtdeclarative.
In QQuickWindowPrivate::deliverPointerEvent(), if isBeginEvent() == true,
it delivers to all items under the point position(s) first, and then if
all _updated_ points were not accepted, it continues delivery to grabbers;
whereas if isBeginEvent() == false, it delivers only to grabbers.
isBeginEvent() and QEventPoint::state() are important to that algorithm.

Amends 6d6ed64d6c

Task-number: QTBUG-87018
Change-Id: I95def9704652147540df5cc065354a0fe04ed626
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-30 23:17:50 +02:00
Giuseppe D'Angelo
7ee682a1dd QREMatchIterator: add support for range-based for
Add begin()/end() on QRegularExpressionMatchIterator, making
iterators over an iterator (like directory_iterator).

[ChangeLog][QtCore][QRegularExpression] The iterator object
(QRegularExpressionMatchIterator) returned by a global match
is now usable in a range-based for loop.

Change-Id: If3d31bd2e84e7d1fb626a0b3d2745914dff03e39
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-30 21:39:36 +02:00
Allan Sandfeld Jensen
cc692bb58c Get rid of some #ifdef qt6
None of this code is even compiled in qt6.

Change-Id: I5891cc9459320083ad3908fcbf646f3ba75b8a4d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-30 21:15:40 +02:00
Alessandro Portale
47ae99a07a Android: Append .exe suffix to qmlImportScanner in androiddeployqt
Change-Id: I9d67d94eb9c19b36075311ddee20c972a645d28d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-09-30 20:18:57 +02:00
Laszlo Agocs
a0195a5bea Fix rhi manual test build
Change-Id: Ib121a3a9871c29c10c1f3ae720c093444e076e8c
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-30 17:08:01 +02:00
Edward Welbourne
10cb65fbf6 Use QDateTimeParser::locale(), not the default QLocale
QDateTimeParser::parseSection() used the default locale instead of the
one configured.

Change-Id: Ie31aa87670cc5ceaf8d937a907807445f44bf7f9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
2020-09-30 16:41:39 +02:00
Edward Welbourne
61bd6afe39 Re-enable a QDateTimeEdit right-to-left test of its sectionText()
Use a QScopeGuard to fix its restoration of left-to-right mode after completion.

Change-Id: I5ac1e44629e72d993f2d5ba6586b86508d57cdaf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
2020-09-30 16:40:43 +02:00
Cristian Adam
45271fb2ac CMake Build: Add direct2d CMake build
Also fixed Direct 2D feature detection test for MinGW.

Task-number: QTBUG-83932
Change-Id: I8c89aaa953d34de40fdf7b51e0859c791aeb38ef
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-09-30 16:38:43 +02:00
Edward Welbourne
158aba25c9 Eliminate QDateTimeParser's mutable parameters at last
I noticed that QDTP has a mutable member, text, which gets set at the
end of each call to parse(); this makes all the in-out parameters
redundant, since relevant methods can simply access - and modify -
text, if it's set *at the start* of parse instaed. (There are no early
returns to complicate matters.) This also makes StateNode::input
redundant.

At the same time, rename the mutable member, as several methods shadow
it with parameter or local variable names; it is too generic.

Change-Id: I2259cd87de5c84201b25c9633d11e59a4a4d57a1
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-30 16:28:42 +02:00
Edward Welbourne
47cb350d8f Standardize #include order and form in qdatetime.cpp
There were duplicates; there was neither rhyme nor reason to the order.
One was conditioned on a deprecated old define.

Change-Id: Iba390f4a83758418379fb5fc522f08ada3e41d12
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
2020-09-30 16:28:23 +02:00
Edward Welbourne
1c591fd924 Deal with {und,ov}erflow issues in QLine's length handling
Use std::hypot() instead of sqrt() of a sum of squares.
This ensures length() can't be zero when isNull() is false.
Use length() in QLine::setLength() rather than duplicating that.

Clarify and expand some documentation; isNull() never said what
constituted validity, nor did unitVector() mention that is should not
be used on a line for which isNull() is true. Make clear that lines of
denormal length cannot be rescaled accurately.

Given that we use fuzzy comparison to determine equality of
end-points, isNull() can be false for a line with displacements less
than sqrt(numeric_limits<qreal>::denorm_min()) between the coordinates
of its end-points (as long as these are not much bigger); squaring
these would give zero, hence a zero length, where using hypot() avoids
the underflow and gives a non-zero length. Having a zero length for a
line with isNull() false would lead to problems in setLength(), which
uses an isNull() pre-test, protecting a call to unitVector().

(It was already possible for a null line to have non-zero length; this
now arises in more cases.)

Restored QLine::setLength() to the form it had before a recent change
to avoid division by zero (which resulted from underflow in computing
the length of a non-null line) but allow for the possibility that the
unit vector it computes as transient may not have length exactly one.

Add tests against {ov,und}erflow problems in QLine. Reworked the test
added during the divide-by-zero fix to make it part of the existing
test.

Pick-to: 5.15 5.12
Change-Id: I7b71d66b872ccc08a64e941acd36b45b0ea15fab
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
2020-09-30 16:26:49 +02:00
Ulf Hermann
c25687fa0b QTestResult: Don't pass a nullptr file to addFailure()
addBFail() asserts on the file being non-null. The convention seems to
be "Unknown File" for cases where we cannot determine the file.

Change-Id: I3a4d0130352d77d75f264fad6f3bd47c6700ef4c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-09-30 16:20:29 +02:00
Alexandru Croitor
2044992eed CMake: Strip binaries and libraries upon installation
To avoid big artifact sizes, strip the binaries and libraries upon
installation. This achieves stripping similar to QTBUG-69767 and
QTBUG-81301 but arguably in a cleaner CMake way.

See comment on PS34 of the unmerged commit
90b09fee44b08b65a436fd15fda2526e242f7b21 for details.

Task-number: QTBUG-86053
Change-Id: I3ed929a8a7c74b88c480543212fc9551d8bde77f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-30 16:16:00 +02:00
Sona Kurazyan
2e27b98cff Use universal references in QtConcurrent
Changed QtConcurrent algorithms to take the passed sequences as
universal references, where it makes sense. In addition to avoiding
to create extra copies when passing rvalues, this change allows
passing temporary container adaptors to QtConcurrent::map (e.g. see
the example in the ticket and the new test-cases).

Task-number: QTBUG-83170
Change-Id: Ia7c0833f4ec1d860294fa5214cd53934b65ff084
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-09-30 15:28:01 +02:00
Friedemann Kleint
5c7307775d Emit QScreen::geometryChanged when the logical DPI changes
Add the missing call to QScreenPrivate::emitGeometryChangeSignals()
along with an emission of physicalDotsPerInchChanged()
since that is calculated from geometry and physical size.

Rearrange the code in
QGuiApplicationPrivate::processScreenGeometryChange()
to prevent duplicate emissions of geometryChanged(),
physicalDotsPerInchChanged() which this change would introduce.

Amends 5290027e3b.

Pick-to: 5.15
Task-number: QTBUG-76902
Task-number: QTBUG-79248
Fixes: QTBUG-86604
Change-Id: I3dc2ec5ccd9c6413e92f9246242f323e8afc5e57
Reviewed-by: David Edmundson <davidedmundson@kde.org>
2020-09-30 15:16:58 +02:00
Andreas Buhr
5add30c8ca QPrinter: unit tests fail when default printer supports duplex
When the default printer supports a duplex mode other than DuplexAuto,
the unit tests change to QPrinter::PdfFormat and expect that
the pdf printer is in duplex mode then. However, the pdf printer
does not support duplex mode.
This patch removes this check.

Change-Id: If394f9f23fd244713bbb1ecce9d3802cbd281d90
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2020-09-30 11:02:36 +02:00
Laszlo Agocs
2f879062a5 rhi: Manage buffer data without QBA
Use a simple and straightforward container that only does what
we need here.

Change-Id: I1a81b53a58bc91d533e3d7df5471a1362046825d
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-30 10:39:59 +02:00
Kai Koehne
0836db2330 Doc: Fix incorrectly placed closing bracket in Q_PROPERTY code
Amends cb3152086c

Pick-to: 5.15
Change-Id: I1615a686a53da7ca5ae454565283c9e83399d947
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-30 10:11:05 +02:00
Mårten Nordheim
7bb17d185d QList: don't detach on squeeze when holding raw data
To match QString and QByteArray behavior

Change-Id: Ifce4a5dee6fc9077e855a24499f11f911e359cf5
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-30 10:11:00 +02:00
Mårten Nordheim
ba465f00ed QList: Remove CapacityReserved on squeeze
Even if we don't reallocate or detach.

Change-Id: I44928c261f037b304de8ee6135b96f00dd217c51
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2020-09-30 10:10:57 +02:00
Fabian Kosmale
8572f84467 Fix ChangeHandler notification for eager properties
ChangeHandler's evaluated the binding to detect if the value actually
changed. This is a valid strategy for lazy bindings, but eager bindings
were already evaluated at that point, and thus the change would not be
detected.
Change the binding loop test, so that there isn't a fixpoint in the
binding loop, and we can still detect it. Changing the binding loop
detection code to deal with this case is left as an exercise for the
future.

Change-Id: Ia5d9ce2cd98a5780e69c993b5824024eb186c154
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2020-09-30 09:27:50 +02:00
Jani Heikkinen
d90647b26a Remove license header templates from qtbase
After 66d6030924e968dffd98ba88d1382e8b08cc521d those are located in
qtqa instead

Pick-to: 5.15 5.12
Change-Id: I2b07638d30affe3e2826a231a31d34cfe7e9e4c6
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-09-30 07:18:08 +00:00
Xie Chuan
9af32d7019 Eliminate compilation warnings
When converting a const variable to a non-const variable, use the conversion operator 

Change-Id: Ib1c8f3defbf9ccce1af5c90e7e9c508bc8c039d0
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-30 14:55:32 +08:00
Allan Sandfeld Jensen
426308a93b Add logging categories to image handlers
Change-Id: Ia0c47826d08b3f641c17d8a585f62d008a8b095b
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-09-30 08:39:45 +02:00
Allan Sandfeld Jensen
b3db55fa6f Remove workaround for MSVC 2008
We don't build on platforms without stdint.h

Change-Id: Iee9de3e71a7bcae524f2d1377919cf074a713960
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-30 08:39:28 +02:00
Fabian Kosmale
6892300127 QVariant: Change metatype in convert() even on failure
The documentation of convert promised that “If the cast cannot be
done, the variant is still changed to the requested type”. This was not
the case so far, because we returned too early if canConvert returned
false.
This commit changes the behavior of the method to reflect its
documentation. The documented behavior seems more useful than the
alternative of not changing the metaType, at least for common use cases
inside qtdeclarative.

Change-Id: I09b5a5efb7344e76e93de278e35c7fb2b2f87dcd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-30 06:31:36 +00:00
Volker Hilsheimer
8e2933f140 Fix qdoc warning from documentation of internal API
QXmlString is an internal class, so qdoc cannot tie the member function
documentation to anything. Since "swap" is rather self-explanatory anyway,
we can just remove the (somewhat oddly placed) documentation.

Change-Id: I3d47219a628ba3d3e5ecd0c825eeff71908d07e9
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-30 07:56:43 +02:00
Samuli Piippo
b376f8b9eb CMake: use HostInfo when QT_HOST_PATH is set
HostInfo is used in places whenever QT_HOST_PATH is set, regardless
whether CMAKE_CROSSCOMPILING is set or not. Make sure that HostInfo
is available when QT_HOST_PATH is set.

Change-Id: I39763a61d77e97dc9c4cc3875bce4deb942f870a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-30 07:27:11 +03:00
Liang Qi
be7d46f5e2 Revert "Blacklist tst_QWindow::exposeEventOnShrink_QTBUG54040"
This reverts commit b1ef104866.

This test is BPASS on openSUSE_42_3 for 5.12 and PASS on openSUSE_15_1
for 5.15.

Pick-to: 5.15
Pick-to: 5.12
Change-Id: Ia1d81ed38491c27c01f270623c5082663f4da699
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-09-30 06:18:49 +02:00
Thiago Macieira
f00d322f67 QJsonObject: fix sorting after parsing from JSON text
The logic was complex and missed the UTF-8 UTF-8 case. It ended up
calling the UTF-8 to Latin1, resulting in an improperly-sorted
container, which in turn meant keys were not found when searched.

Fixes: QTBUG-86873
Pick-to: 5.15
Change-Id: I0d3ff441bec041728945fffd16379dec418637ca
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2020-09-29 16:14:37 -07:00
Allan Sandfeld Jensen
66c8fc4831 Fix assumed version typo
Deprecated from 6.0, but necessary for migration.

Change-Id: Idb1264e6ecca9400086970c15270b803c8fd391b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-30 00:10:54 +02:00
Allan Sandfeld Jensen
0c07f0cab8 Fix ubsan errors
Nullptr memcpy, memmove and 36 bit shift of integer.

Change-Id: Ib79c8a98a710d021fc93b6aaec6c0ba9bde5f91e
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-30 00:10:40 +02:00
Thiago Macieira
e4fece60aa Add {add,sub,mul}_overflow detection when one operand is a constant
We were missing 64-bit signed mul_overflow on 32-bit platforms and in
those where we did have it, the detection was awful (both for signed and
for unsigned). So if one of the parameters is a constant, we can
simplify the code generated.

Change-Id: Ia99afccf0c474e20b3ddfffd162a60d269eb1892
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-09-29 14:55:48 -07:00
Andrei Golubev
589d37e155 Use Q_RELOCATABLE* instead of Q_MOVABLE* wording in docs
Movable in Qt is confusing since C++11. Our code also relies on wording
with "relocatable" and "movable" is mostly a backwards-compatibility thing

Change-Id: I28f5a61b4482aa1dd26c7b760d78be031d11ef10
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-09-29 23:16:43 +02:00
Sona Kurazyan
5cae73217a Improve docs for QFuture::{result*, takeResult*}
Change-Id: I559f2fd73a9aae3d126be18cb259f8a9abe0efaf
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-29 22:18:01 +02:00