Main purpose is to limit the number of keys a user can enter, so
let's be explicit about this. 'Truncation' seems to happen only if
the program programmatically sets a longer sequence to the edit,
which is arguably a programming error and also shows up as a
warning in the logging API.
Pick-to: 6.5
Change-Id: I7b2b74e8dab44c5ad16ffefc25c5610708139353
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
qwasmclipboard.cpp and qwasmdrag.cpp had the same logic that read
the js DataTransfer object implemented twice with small differences.
Use a single implementation in both.
This also introduces a clearer memory ownership model in the reader
code, and fixes a potential race condition by introducing a cancellation
flag.
Removed the useless QWasmDrag type which was in essence a SimpleDrag
and made the m_drag in QWasmIntegration a smart pointer.
Fixes: QTBUG-109626
Pick-to: 6.5
Change-Id: I5b76dd3b70ab2e5a8364d9a136c970ee8d4fae9c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
This got lost during the QStringView port that happend in Qt 6.0
(commit 548dcef089) because
QString::operator+=(QStringView) does not copy the nullness of the right
side, whereas QString::operator+=(const QString &) does.
Pick-to: 6.2 6.4 6.5
Fixes: QTBUG-84315
Change-Id: Ide4dbd0777a44ed0870efffd17399b772d34fd55
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Its objective is to copy uninitialized content and that's fine.
qcontainertools_impl.h:73:25: error: ‘~~~’ may be used uninitialized [-Werror=maybe-uninitialized]
73 | std::memmove(static_cast<void*>(out),
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
74 | static_cast<const void*>(first),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75 | n * sizeof(T));
| ~~~~~~~~~~~~~~
Pick-to: 6.5
Change-Id: Ide4dbd0777a44ed0870efffd173917092b671dd0
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Allow setting the initial directory where the file dialog
will be opened.
Pick-to: 6.5 6.4 6.2 5.15
Change-Id: I1395b367c74d28fb2890ac53a90456c3ac4c1b05
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
We must explicitly set the GENERATED property on source files we
generate.
This amends commit f0a7d74e1d.
Change-Id: Ifab405cd98deece49a1566ae04220e2b5d576429
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
The -no-rpath configure switch had no effect.
Pick-to: 6.5
Change-Id: I306ec33249a219066ce94d18da5f1ca3d92905e1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
__GlobalConfig_install_dir translates to lib/cmake/Qt6/ and 3rdparty
modules will be in lib/cmake/Qt6/3rdparty which seems to be a logical
place for them.
Pick-to: 6.5
Change-Id: I90c715b9502b0dfc666bb3202a838f20ba6110cf
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
QT_FEATURE_ltcg is TRUE if either of
CMAKE_INTERPROCEDURAL_OPTIMIZATION=ON or
CMAKE_INTERPROCEDURAL_OPTIMIZATION_<CONFIG>=ON are passed to the
configure, or the cmake command.
Pick-to: 6.5
Change-Id: Ibaece67de6cc6f89e505038fd02fb50008c47d48
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This replaces an ad-hoc solution.
As a drive-by, remove a check that was always true.
Pick-to: 6.5
Change-Id: I72166ee75a2c474dc91bc699c790f256b78b3b7a
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Because Python 2 reached end of life. I wonder how this even works on
macOS, as my Monterey doesn't even have "python" any more.
Pick-to: 6.2 6.4 6.5
Change-Id: Ibddb9b0ada5a4bbaa64bfffd173b239c6c4b66f3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
initializer_list is supposed to be cheap to copy, and passing by value
will avoid one further indirection (though the compiler can probably see
through it, anyway).
Pick-to: 6.5
Change-Id: I8ffbf5de4d8cf2c85f4cff76ef63d6cdeac4db5a
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
qTopLevelDomain() is misleading in the configure summary. The function
has been removed by commit 50b3097683
Also clean up the topleveldomain files.
Pick-to: 6.5
Change-Id: Ib577962909a83f4f41d1660a26fd80b37803ae18
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Otherwise we might conclude that we found a usage description when
PlistBuddy outputs "Error Reading File: /tmp/Info.plist" to stdout.
For CMake this is not an issue as we pipe stderr to a separate variable,
that contains "Cannot parse a NULL or zero-length data" in this case.
Fixes: QTBUG-109967
Pick-to: 6.5
Change-Id: I9d819b6de405b88bb7d1d75c22b6f5187f26e553
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
There was a plan to invert the API, but since the TODO, we are settled
on the non-inverted name, ie., GENERATE_CPP_EXPORTS.
Pick-to: 6.5
Change-Id: I84f531d870965e0b7d0d821d1ff08606ab8054ab
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
<out_var>_private_header_dir and <out_var>_private_module_header_dir are
documented to point to "the specific framework version and framework
bundle version".
Pick-to: 6.5
Change-Id: I00053f106ec9be88f7892c842ca75549cfc54124
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
ICU 50.1 was released May 11th, 2012. Despite of the restriction, all
currently supported operating systems will continue to be supported.
All mismatches described in QTBUG-99715 are fixed in this version.
Restricting to 72.1 (latest version as per January 2023) or 63.1 (2018)
would still exclude e.g. RHEL 9.0, which ships version 56.1.
Task-number: QTBUG-109505
Pick-to: 6.5
Change-Id: Ic5cd7927d6f5fb60a89423c305796a9ed311bfa2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
One of the examples were using a different version than the others.
Though QString's formatting probably didn't change since then so
it was no problem.
Anyway, pretend like we're releasing it now for the first time and
set 6.5 on all of them
Task-number: QTBUG-108875
Pick-to: 6.5
Change-Id: I28b496ab3d8ff54c503a032ba15882cdf3d5eccf
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Ends up shortening the loop, making it easier to read at a glance.
Pick-to: 6.5
Task-number: QTBUG-108875
Change-Id: Ia12a994259b00e9b57f2de48124be9cb38553bf5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
QString and QStringView have the same size_type these days.
Pick-to: 6.5 6.4
Change-Id: I59ffe78f51e06ccc130562b1682fb4a672c3ec22
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
- QPermission_s_ -> QPermission
- add a comma to make a text piece clearer
Pick-to: 6.5
Change-Id: I08469cca9a05b08772d101fdab4eccd6b9cfcab8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
As a consequence, also had to add some suppressions:
-Wno-padded (this warning should almost never be responded to)
-Wno-c++98-compat (we want to use c++17 features)
-Wno-weak-vtables (IMO not worth fixing for an example)
Pick-to: 6.5
Change-Id: I28ae4456c0221ad2370879a691f6343affff138b
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
This works by collecting the paths of all blacklist files
and deferring a call which ultimately reads all of the files and
glues them together to form a master blacklist file for the batch.
There might be conflicting function names inside the batch. For now
we ignore the problem, while keeping in mind that it exists.
Fixes: QTBUG-110016
Change-Id: I9c8412097418c6e93297ab89af718d7466e2e451
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
Noted in API review: Improves formatting and readability.
Pick-to: 6.5
Change-Id: I3a8f769899031410d00397a885f115adcca82f3b
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Consistently use int (instead of uint) type for alignment/text
formatting flags passed to QStyle::drawItemText (and overrides).
Clean variables in QCommonStyle::sizeFromContents
- use self-explaining variable names
- rename misleading variables
- define one variable per line
- use consts whereever possible
- insert new lines to make code easier to read
- correct wrong indentations
- use auto in qstyleoption_castis to respect maximum of 100
characters per line
Pick-to: 6.5
Change-Id: Ie145c089606436213c813227154fac29962825d0
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
The example didn't show anything useful, and seemed more like a
manual test case.
Pick-to: 6.5
Change-Id: Ia71f39b26943aab04b6895e63b6eed50dd084bfd
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
.../qabstractbutton.cpp: In member function ‘virtual void
QAbstractButton::keyPressEvent(QKeyEvent*)’:
.../qabstractbutton.cpp:1010:58: error: incomplete type
‘QGuiApplicationPrivate’ used in nested name specifier
Pick-to: 6.5
Change-Id: Ia71bb481d125087aa813c891f9508755f435f4d2
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Move all libthai symbol resolution and state management into a single
class. Create a single global static instance of this class. This allows
freeing of the state on program exit.
Task-number: QTBUG-105544
Pick-to: 6.5
Change-Id: I2610863f85f49f88e83f1fdaa200ea277c88c0ef
Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Despite being move-only, std::vector<unique_ptr> advertizes
is_copyable:
https://quuxplusone.github.io/blog/2020/02/05/vector-is-copyable-except-when-its-not/
Our combined reallocation and resizing function, reallocate_impl(),
runs afoul of this when it uses std::is_copyable in a constexpr-if to
implement resize(n, v) without running into problems with move-only
types: the trait is true, but actual instantation runs into a
static_assert in the STL implementation.
To fix, move the problematic resize functionality out of
reallocate_impl() and into the resp. resize_impl overloads. The shrink
functionality remains in reallocate_impl(), because there are many
more users, and it only requires destructible<T>, which isn't
constraining at all.
Amends a00a1d8806.
Fixes: QTBUG-109745
Pick-to: 6.5 6.4
Change-Id: Ibc5b9cf5375108eb3d8f6c8a16d4fd02dadd73b1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
The method is not meant be a slot.
warning: getter QApplication::autoSipEnabled possibly mismarked as a
slot [clazy-const-signal-or-slot]
[ChangeLog][QtWidgets][Potentially Source-Incompatible Changes]
bool QApplication::autoSipEnabled() is no longer a slot. Code such as
using QObject::connect() to connect to it as a slot or accessing it
through meta object system will have to be rewritten.
Pick-to: 6.5
Change-Id: I892a51120478f3c90e5834c8e3e00bc836b84c52
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Alexandru mentioned that at the time qtdeclarative was still using the
variable, but from then, he replaced those as well, and I couldn't find
any usage anymore either.
Change-Id: I6a1893c2dfaa483dc8cb865f7bacf08cadca985b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>