Commit Graph

48244 Commits

Author SHA1 Message Date
Giuseppe D'Angelo
bf3649d639 QScopedValueRollback: code tidies
Add constexpr + deploy std::exchange.

Change-Id: I4c5e6f5d35cd74c464667f633344d27c0656f0eb
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-09-25 03:02:09 +02:00
Lorn Potter
49517aad70 wasm: fix network status code propagation
Fixes: QTBUG-86620
Pick-to: 5.15
Change-Id: I911636739dc57e47bc2a07a583f4e67fc08b1b19
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-09-25 10:25:13 +10:00
Alexandru Croitor
3031787485 CMake: Fix sanitizer build when using Clang on Linux
Apparently the combination of the --no-undefined linker flag together
with ASAN when building on Linux with Clang does not work.

Disable --no-undefined flag in such a scenario. Note that linux-clang
mkspec doesn't add that flag at all, which is why asan builds work
there.

Change-Id: I6167c757ce4be5d2263311bc84e5fb445b0f7c2d
Fixes: QTBUG-86879
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-24 18:23:17 +02:00
Friedemann Kleint
22bf3a4511 QWindowsPrintDevice: Fix signedness warnings
Remove the warnings suppression.

Task-number: QTBUG-83259
Change-Id: I3d8852ce8f62bac9b8f6ca4e13892164fb6d4059
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-24 14:22:57 +02:00
Friedemann Kleint
90231f5ab2 QWindowsPrintDevice: Brush up the code
- Replace C-style casts, use helper wcharId() for the printer id
- Replace typedef by using
- Replace NULL by nullptr

Task-number: QTBUG-83259
Change-Id: I066ff65bf7c1e894a6c6bb19cf0334c0b83fb759
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-24 10:36:38 +02:00
Friedemann Kleint
fb18fe0316 Windows: Build print support plugin directly into QtPrintSupport
Task-number: QTBUG-83259
Change-Id: I23042e1eb89d407692a96bfb2d6c4efdddbfb50f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-24 10:36:38 +02:00
Volker Hilsheimer
ab428e3000 Fix qdoc warning from QLibraryInfo after API change
In 557623cc4f, QLibraryInfo::location became path.

Change-Id: I71d61e44d3612b4613e1de58f2340174579eee3d
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-24 06:52:41 +02:00
Volker Hilsheimer
f791c1c0b5 Fix some qdoc warnings in QMetaType and QVariant
Document new enum values, remove documentation for implicit members,
fix parameters, and tie documentation to function definitions.

Change-Id: I5f32d45be8709e5f614d099ddf21252e23e144f8
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-24 06:52:23 +02:00
Christian Heimlich
e1cf5b2348 Fix redundant emission of editingFinished from QLineEdit with Return key
Current implementation of QLineEdit uses the "edited" bit-field flag to
prevent unnecessary emissions of editingFinished() when a line edit
loses focus but its contents have not changed since the last time the
signal was emitted; however, this flag is only cleared when the signal
is fired due to focus loss and not when the Return/Enter key is pressed.
This causes an unexpected double emission of the signal when focus is
lost following a press of the Return/Enter key if the line edit's text
was not further altered between the two actions.

This change includes the Return/Enter press as a trigger for clearing
the "edited" flag to make editingFinished()'s behavior more consistent
and expected. Prevents slots in user code from triggering twice in
situations where the line edit's current contents have already been
handled, but still allows the end-user to force an emission of the
signal via Return/Enter.

The effect of the "edited" flag on the signals behavior has also been
noted in the signal description as it was previously omitted.

[ChangeLog][QtWidgets][QLineEdit][Behavior Change] Pressing the
Return/Enter key in a QLineEdit will now also prevent editingFinished()
from firing due to focus loss if the contents of the line edit have not
changed since the last time the signal was emitted.

See - https://forum.qt.io/topic/116902/

Change-Id: I11aadd45341337b7852da8cf5802c7c9efdd614d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-23 20:33:33 -04:00
Volker Hilsheimer
9c5698a8fc Fix compiler warnings from deprecated QTouchEvent::touchPoints
Replace with QPointerEvent::points().

As a drive-by, turn QEventPoint copies into const references where possible.

Change-Id: Ia5e0645493984fe9177dd3ca16afdb4d56e384ee
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-09-23 19:50:26 +02:00
Lars Knoll
850d850c5a Use QMetaType instead of integer based type ids
Change the implementation of Qt DBus to use QMetaType directly
instead of integer based type ids.

Change-Id: I999023b58fa50dcc3504386467faf09874f7d2cf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 19:30:28 +02:00
Lars Knoll
be714154fa Use a hash to store the DBus marshalling data
A QList<int> where int is the metaType id is a bad idea in Qt 6,
as custom types will start at index 65536. Use a QHash instead.

Also fix the API to use QMetaType as arguments and return values.

Change-Id: Ia0b894126271be1f01dc4593b5155fb75d713720
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 19:30:22 +02:00
Lars Knoll
d39bd9e258 Cleanup DBus type registration code
Modernize the code base, use QMetaType and avoid
reinterpret_casts.

Change-Id: I0bad2ee393a0f850cf40b248cb9439b06ed9f663
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 19:30:15 +02:00
Lars Knoll
abd1b7f306 Cleanup QDBusPendingReply
Remove the limitation of max 8 arguments and clean up the
template code.

This required a bit of special work to ensure
QDBusPendingReply<void> works the same way
as QDBusPendingReply<>.

Change-Id: I8e822b2f97f0712746b917056ea8f3d5c219c7f6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 19:30:10 +02:00
Timur Pocheptsov
720e2e0c92 QCocoaDrag::drag - make sure clipboard is ours and populated
This fix is not final yet, it's just to plumb the serious bug/regression
of accessing NSPasteBoard in some strange state and the one we have not
populated yet/do not even own (?). Drag image(s) is broken atm and will
be fixed in the follow-up patch.

Pick-to: 5.15
Task-number: QTBUG-71939
Change-Id: I5c3ac3ec138d7407c2e0c206485478aa5244ae15
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-23 18:55:53 +02:00
Volker Hilsheimer
8a50a11437 Initialize trayWatcher from QSystemTrayIconPrivate
Coverity-Id: 59488
Change-Id: Ide8d9b62304b72105d2c1d4266ba2a52576ef75a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-23 18:44:16 +02:00
Volker Hilsheimer
2f319f3be9 Give QPixmap a move constructor
It already has a move-assignment operator, and implements swapping.

This requires a specialization of the QExplicitlySharedDataPointer
destructor to be forward declared, and an implementation that is
identical to the default version. Otherwise we would need
QPlatformPixmap to be fully defined in the public QPixmap header.

Change-Id: I2651bbc29a7083a93e3b3ad671d3aeea659b7d5a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-09-23 18:00:54 +02:00
Laszlo Agocs
d3c985631d rhi: gl: Enable seamless cubemap filtering
...when available. This is mandatory in order to match results with
other APIs where this is always on.

Change-Id: I3b8ef2cb806a7297c83e60a3eb1fa71b50780dbe
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-23 17:35:03 +02:00
Alexander Volkov
7c483a251b Simplify QHighDpi::fromNativeLocalExposedRegion()
... by using QRectF::toAlignedRect().

Change-Id: I310b2f0ad87c541aa0d63d6a8061783aff791abb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-09-23 18:34:02 +03:00
Andreas Buhr
bf548091da QDateTime change documentation to reflect usage of C locale
In the past, string formatting and parsing was done in the users
locale. Now, the C locale is consistently used in QDate(Time) and
localized functions are offered in QLocale. This patch reflects
this change in the documentation.

Change-Id: I81afda9063fa232d06841d63f69e19b49f8083f3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 17:33:39 +02:00
Cristian Adam
079cf55111 CMake Build: Add support for -qtlibinfix configure parameter
Rename all libQt6*.so to libQt6*<infix>.so

Task-number: QTBUG-85438
Change-Id: I4b91ffaaec7bea61454b0d3c794c77f2d0868d54
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-23 17:31:13 +02:00
Edward Welbourne
42500dd9ca Add a ValidWhenMask to QDateTimePrivate::StatusFlag
This saves some repetition of verbose status-setting code.
At the same time, save the function that uses it a repeated
getStatus() call hidden inside its getSpec() by inlining getSpec().

Change-Id: I32aee521c1885408f822ecb47ab1ed76f92852a1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 17:17:20 +02:00
Edward Welbourne
e33b0d4bb0 Make QDateTime() unconditionally noexcept
As proposed by Lars in code-review; its Data::Data() is in fact
noexcept even when CanBeSmall is false.

Task-number: QTBUG-86400
Change-Id: I351e4332660f5895fff34b950227cbb811fd9f81
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 17:16:48 +02:00
Tor Arne Vestbø
e4f647e272 macOS: Don't assume NSSlider is never flipped
We need to take into account the possibility that the slider is flipped,
otherwise we end up with inverted rects, as noticed in Big Sur.

The logic to use the ticks as input to whether the bar rect should be
inverted didn't make sense.  If the graphics context has been flipped,
then we should reflect that through the slider.

Pick-to: 5.15
Pick-to: 5.12
Change-Id: I3574027c14807460affb42a9763211981c4ed528
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-09-23 17:04:12 +02:00
Allan Sandfeld Jensen
7c1f94f387 Fix Qt6 todo in qcssparser
Colors with wrong number of elements are now invalid.

Change-Id: I32c934894de86095d9790baa5f0d2001d76bcd3c
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-23 17:01:29 +02:00
Edward Welbourne
df4cbaf8dc Assert some conditions instead of testing for them
In one case, handle an error by an early return so that we can do so.

Change-Id: If98eaaf2dfd47c1df1d09497fcc3e9ab784dc6df
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-09-23 17:00:00 +02:00
Edward Welbourne
1ec67b5e26 Make more consistent use of m_offsetFromUtc()
In QDateTime::toMSecsSinceEpoch(), all non-short date-times know their
offsets from UTC, so can use that, saving the TimeZone ones the need
to call (costly) zoneMSecsToEpochMSecs() and, when not short, the
LocalTime ones the need to call localMSecsToEpochMSecs().

Moved the setting of offset clear of refreshZonedDateTime()'s check
that the date and time match the milliseconds being handled, so that a
sensible offset value is set even when the date-time comes back
invalid due to being in a spring forward.

As refreshZonedDateTime() now sets d's m_offsetFromUtc for both specs,
it no longer needs QDateTimePrivate::setUtcOffsetByTZ(). In any case,
the private time-zone access that provided is equivalent to the
difference we already have between msecs and epochMSecs, except in a
zone-gap. Add assertions to confirm this in zoneMSecsToEpochMSecs().

This brought to light a problem with whole-day transitions, where
QDate::startOfDay() assumed the gap it was hitting would end by end of
day. Search backwards from noon tomorrow, instead; likewise, for
endOfDay(), search forward from yesterday.

Task-number: QTBUG-75585
Change-Id: I6151d1dfccab321605753c98e01152281461bfe2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 16:59:08 +02:00
Edward Welbourne
3bd6901429 Use same-msecs optimization more in QDateTime comparison
QDateTime's comparisons just compare milliseconds when both values are
local times and their statuses (hence DST-ness) match. It can do the
same for time-zones. While doing the same for UTC and fixed offsets
wins nothing, it also costs nothing, given that we're already checking
the spec.

Task-number: QTBUG-75585
Change-Id: Ib6d824569aba8def2f1319ef3a11cca6869a5b5e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 14:59:08 +00:00
Edward Welbourne
691762e0e3 QStringBuilder: use qsizetype for size() methods
Prompted by a ### Qt 6 comment on one of them.

Task-number: QTBUG-85700
Change-Id: Id78a05a7bf77ba04207e0f5bc2a316984b13c9ae
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-23 16:59:08 +02:00
Volker Hilsheimer
3299476791 Fix qdoc warnings for QByteArrayView
Provide simplified declaration of fromArray for qdoc runs;  fix a small typo.

Change-Id: I8c7300a014270e8ab7f18afd94ee66af4734e0c7
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-09-23 16:59:08 +02:00
Volker Hilsheimer
1cbfaebfc9 Fix qdoc warnings: QSplitter
Fix prototypes and parameter names.

Change-Id: Ic43c72eaaf06f941f652440e750c91546707b79e
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-23 16:59:08 +02:00
Volker Hilsheimer
eb08d9bcfc Fix qdoc warning from broken snippet
Change-Id: Ieaf7676dd7406363dfd970528dd13e65b9af87c3
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-23 16:59:08 +02:00
Volker Hilsheimer
76d0fcf365 Fix qdoc warning: use correct parameter type in QVariant c'tor
Change-Id: Ic935c8ac22c6ac8955439353c9d36dd7ba46021c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-09-23 16:59:08 +02:00
Volker Hilsheimer
000edd2765 Fix qdoc warning from flag instead of enum type in \enum
Change-Id: Ia6b1152c99905ac805b411c9a77144879adfd848
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-23 16:59:07 +02:00
Volker Hilsheimer
c1ade7f401 Fix qdoc warnings from removed enum values
Change-Id: Icd7a941ed1d8c7a4674482ace4b280a15e592c1a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-23 16:59:07 +02:00
Volker Hilsheimer
cb8ec51fb5 Fix qdoc warning: yet another std::filesystem
Change-Id: If3c2e7ea3ae32e9596c51623449a405b16b27a5f
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-09-23 16:59:07 +02:00
Volker Hilsheimer
50e33159f1 Fix some qdoc warnings from QByteArray
A snippet bug, and removed overloads.

Change-Id: I82aee3627ba1a4e75e392b28d8ec72d470c395db
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-23 16:59:07 +02:00
Volker Hilsheimer
93e22bd21f Documentation: purge QSet and QHash members that no longer exist
QMutableSet/HashIterator can not walk backwards, neither can the STL iterator.
When function documentation was shared with other iterator types, move it into
separate section to avoid linking to incorrect see-alsos.

Remove or fix other member function documentation that had errors, e.g.
in parameter types after move to qsizetype.

Change-Id: Ic7f97a295eff63ee748998b10f08a160706fa650
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-23 16:59:07 +02:00
Andreas Buhr
b50e81b5b1 Add unit test to check emoji handling in date-time parsing
Add some unit tests using emojis as separator characters to check
utf handling.

Change-Id: I03c4bb5cd349e649c58e8a908c38a0185d80e722
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2020-09-23 16:59:07 +02:00
Assam Boudjelthia
ac0be4d568 Android: set default API level to 23 in docs
Android minimum API level for Qt 6 is 23, this reflects that to some
instances that still mention 21.

Change-Id: I996f3ed3af14dca114129351d6ea06afcb8f45f5
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-23 17:59:07 +03:00
Assam Boudjelthia
1c33b4e729 CMake: partially revert 00a1e5d
00a1e5da7e wrongfully added parts of
QtPlatformAndroid.cmake which were removed in
32121e9882. This removed the part in
question again

Change-Id: Ie18968e6a165f52c68f4941ced6add266985bc48
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-23 17:59:07 +03:00
Assam Boudjelthia
176136ce60 Android: add qmlimportscanner and rcc paths to deployment-settings.json
qmlimportscanner and rcc in Qt 6.0 are part of the host installation
and not in the target installation which androiddeployqt expects it to be.

Fixes: QTBUG-86831
Change-Id: I9d7a6fce3d2f109bab933fcfd7fdd5d2c83821a8
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2020-09-23 14:59:07 +00:00
Paul Wicking
8333ff6414 Doc: Make network snippets a subdirs/lib project
Task-number: QTBUG-86497
Pick-to: 5.15
Change-Id: I45eb22344beb777dd4ad20ba669b28e50cbfc3ec
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-23 16:59:07 +02:00
Paul Wicking
f4ee89363e Doc: Make widgets snippets a subdirs/lib project
Task-number: QTBUG-86497
Pick-to: 5.15
Change-Id: Ia43f9eb3bf8a3d2f6e76a1932179aaa94266540b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-23 16:59:07 +02:00
Edward Welbourne
270c3dced7 Remove ### comment on QT5_NULL_STRINGS
Commented recommended turning it off by default in Qt 6, but Lars
changed his mind once he saw how much broken on doing that.

Task-number: QTBUG-85700
Change-Id: I1aeec408400978821e0e64d082dbb73cf982e54a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-23 16:59:06 +02:00
Tor Arne Vestbø
5c1ed8bb74 Use 'A' for Apple framework version instead of Qt major version
All system frameworks use 'A' instead of the major version of the
framework, and Xcode's code signing assumes that the framework version
is 'A' when signing embedded frameworks (FB7323980), so leave the
version 'A'. This is also what Apple recommends.

Change-Id: Idbf2e30e156c3e869da8f75731e568524d9407e5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-23 16:59:06 +02:00
Laszlo Agocs
be2635b8dd rhi: Reuse the data in buffer ops in res.update batches
Because having profilers bombarded with mallocs (due to creating
deep copy QByteArrays) is not nice.

Change-Id: I848f41f3465d6dc2a58a193cc863495aacf13d79
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-23 16:59:06 +02:00
Laszlo Agocs
6b52ba4286 rhi: Reuse buffer/texture op entries in res.update batches
More of an enabler for reusing the data in the individual entries since
not clearing the QVLA does not give us much on its own.

Change-Id: Ief9761f75382c3373cc2bc7b866eb59fdd8b3277
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-23 16:59:06 +02:00
Laszlo Agocs
230be3c4d1 rhi: Report an "optimal capacity" from res.update batches
Change-Id: If47eddf3fe7d365c80b0a15712ef155a6898d904
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-23 16:59:06 +02:00
Laszlo Agocs
5fcd9a3ebf rhi: Do not just pick the first free res.upd. batch all the time
Rather, utilize all the available ones in the pool, picking
the next available batch after the one we picked previously
(with wrapping over as necessary).

Change-Id: I5f26e127a406c2dd07d155712429c72ad4f0f0f1
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-23 16:59:06 +02:00