| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
As a drive-by, remove old usage of QT_TOOL_PATH_SETUP_COMMAND
Pick-to: 6.4
Change-Id: I796792a907684db6df77849d2bd4b61ef03b3a15
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a semantic patch using ClangTidyTransformator as in
qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8, but extended to
handle typedefs and accesses through pointers, too:
const std::string o = "object";
auto hasTypeIgnoringPointer = [](auto type) { return anyOf(hasType(type), hasType(pointsTo(type))); };
auto derivedFromAnyOfClasses = [&](ArrayRef<StringRef> classes) {
auto exprOfDeclaredType = [&](auto decl) {
return expr(hasTypeIgnoringPointer(hasUnqualifiedDesugaredType(recordType(hasDeclaration(decl))))).bind(o);
};
return exprOfDeclaredType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))));
};
auto renameMethod = [&] (ArrayRef<StringRef> classes,
StringRef from, StringRef to) {
return makeRule(cxxMemberCallExpr(on(derivedFromAnyOfClasses(classes)),
callee(cxxMethodDecl(hasName(from), parameterCountIs(0)))),
changeTo(cat(access(o, cat(to)), "()")),
cat("use '", to, "' instead of '", from, "'"));
};
renameMethod(<classes>, "count", "size");
renameMethod(<classes>, "length", "size");
a.k.a qt-port-to-std-compatible-api V4 with config Scope: 'Container'.
Change-Id: I58e1b41b91c34d2e860dbb5847b3752edbfc6fc9
Reviewed-by: Sona Kurazyan <kurazyan.sona@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: Ifc205a53ed6809f98d6cd552de901ea7e90716f5
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a semantic patch using ClangTidyTransformator as in
qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8:
auto QtContainerClass = anyOf(
expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o),
expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o));
makeRule(cxxMemberCallExpr(on(QtContainerClass),
callee(cxxMethodDecl(hasAnyName({"count", "length"),
parameterCountIs(0))))),
changeTo(cat(access(o, cat("size"), "()"))),
cat("use 'size()' instead of 'count()/length()'"))
a.k.a qt-port-to-std-compatible-api with config Scope: 'Container',
with the extended set of container classes recognized.
Change-Id: Id816b39977e17712fd078900037efc45f66a0175
Reviewed-by: Sona Kurazyan <kurazyan.sona@gmail.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
None of these users require C++20 constexpr or C++23 noexcept, the
only remaining difference between std::exchange and qExchange.
Task-number: QTBUG-99313
Change-Id: I3a1cc903f8298085dd2bf09a08234557e9eb430a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds the example listing page and a link to it on the
module's landing page. The examples that had the 'qdoc' file are
included in the listing.
Few examples' documentation is quite limited, but those can be addresed
in their own tasks as needed.
Fixes: QTBUG-105943
Change-Id: Id69baead6fa5a2a62a3ce7fdf3d7e6be06cc851d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-105102
Change-Id: Id96498dfd134614946d9668ff36748e20fbc20a9
Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recent changes in qtbase have the consequence that some of the
metatypes that were previously implicitly/indirectly registered no
longer are.
Fixes: QTBUG-105469
Change-Id: I3a62fc46dad82c64271d62f74e466b0a54fcd2d4
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
qjsvalue_p.h is included, but not used, so remove the unneeded include
and dependency from QmlPrivate.
Fixes: QTBUG-106003
Pick-to: 6.4 6.3 6.2
Change-Id: I161fd0bafb11af0e21778b0c9db3ada72f7bba80
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds Qt remote object example which demonstrates
remote objects over Bluetooth Low Energy (LE). The example uses
GATT characteristics and their value notifications as the transport
method.
The source (server) side is a simple "heater" object which is either
turned ON or OFF, as controlled by the client. The temperature then
changes upwards (heats) or downwards (cools) accordingly. The changing
temperature value is shown by the client GUI.
Fixes: QTBUG-99576
Change-Id: I70dff545db0e45e3026ed5a7a98fce7bf54b9821
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: I3c41abc9bca22c7395fa8bbacb853e2081491d5f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.
Existing copyright statements remain intact
Task-number: QTBUG-88621
Change-Id: I645192906c25043651ee09447a2d98e70330a39c
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This can sometimes happen when clicking fast on different items
in debug mode. This this is a fix by Roman Putintsev.
[ChangeLog][QtRemoteObjects][ModelReplica] Fix race condition when accessing invalid index
Pick-to: 6.4 6.3 6.2
Fixes: QTBUG-74124
Change-Id: Ice95b4f91b50173ce804f3d664e9b12a4c74e1ce
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
| |
... fixing Clang -Wweak-vtables warnings, which we'll soon add to
headersclean.
Pick-to: 6.4
Task-number: QTBUG-45582
Change-Id: I0a2962f216c2fb03e924bb94b21c0903450974c5
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
|
|
|
|
|
|
|
|
|
| |
s/paremeters/parameters
Task-number: QTBUG-97092
Pick-to: 6.3 6.4
Change-Id: I7f3e306f5899e4834aadc4ab142f1532652fedf3
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I315d7ce1d6c6c3497afdfe8b61a113fdc181c935
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reduces compilation time by avoiding repeated metatype
instantiations.
Can't backport to Qt 6.3 or 6.2 because this change introduces new
exported symbols.
Pick-to: 6.4
Fixes: QTBUG-102219
Change-Id: Ice0f606bdcfa283b8eb89c57c4b06650d3f88928
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Using REQUIRED as a prefix instead of suffix works better with
OPTIONAL_COMPONENTS, and is also the order in the CMake manual.
Pick-to: 6.3
Task-number: QTBUG-98867
Change-Id: I02034035f8c67a1e55a826898231409c07ebd6bf
Reviewed-by: Rui Oliveira
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
These headers are no longer transitively included from qvariant.h.
Pick-to: 6.3 6.2
Change-Id: I9e95274d23ae1175874fc89d5e2902b2da6b17ab
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
| |
Much more efficient now that setObjectName takes QAnyStringView.
Change-Id: I0d7423f6fb9aa41f1570c21ce948f1b8d0e0ff16
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
warning: narrowing conversion of '(int)len' from 'int' to '_Sizet'
{aka 'long unsigned int'} inside { } [-Wnarrowing]
warning: narrowing conversion of 'data.QByteArray::length()' from 'qsizetype'
{aka 'long long int'} to '_Sizet' {aka 'long unsigned int'} inside { } [-Wnarrowing]
Pick-to: 6.2 6.3
Task-number: QTBUG-101384
Change-Id: Ia2e2c979ad668b040e0e2ba7a36f65bb91d8e18e
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
|
|
|
|
|
|
|
|
|
| |
warning: this statement may fall through [-Wimplicit-fallthrough=]
Pick-to: 6.2 6.3
Task-number: QTBUG-101384
Change-Id: I645ad99db0ddea8e8da53ac7722bc534e2c49240
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ic6f439997f57df5bb374d901d39890dd1b1d2a0c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
See script in qtbase/util/includeprivate for the rules.
Since these files are being touched anyway, I also ran the
updatecopyright.pl script too.
Change-Id: Ib056b47dde3341ef9a52ffff13ef677e471674b6
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Exported or not, the library should not claim names like Thread in the
global namespace if the user asked for a namespaced Qt build.
Pick-to: 6.3 6.2 5.15
Change-Id: I31fc715a70923ab85d82c3407ca89c6b087eb19e
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Calling QRemoteObjectHost::hostUrl() will crash if remoteObjectIO
is nullptr, so check if it's not nullptr before using it.
Fixes: QTBUG-85124
Pick-to: 5.15 6.2 6.3
Done-with: sona.kurazyan@qt.io
Change-Id: I1f73589958ba08d3997193653b57a64a223cd201
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.2 6.3
Task-number: QTBUG-100212
Change-Id: I35220805f85ebadbaffbcb32ae4654271926e155
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qtbase commit de18b3ff370543b5b99bd068b871a2cd677cf9f3
("QCryptographicHash: port addData() to QByteArrayView") requires passing
a QByteArrayView to addData, and deprecated the overload that took a
pointer and size. This fix avoids using the deprecated methods.
Fixes: QTBUG-100358
Change-Id: Ic3ee2311d27fc7e5d17ecbb2953c244701c5109d
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This amends commit e37a1ffbf2f85475219be66e71ee2abc4f1dcede.
The custom commands in Qt6RemoteObjectsMacros.cmake need to explicitly
depend on the repc target since we changed the COMMAND to use generator
expressions, and because CMP0112 in effect, this dependency is not
automatically added.
Change-Id: I2a1a41b84059b852aea7f13fc2b00fc1a43ca53d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
| |
...with _qt_internal_wrap_tool_command() calls.
Change-Id: I6b7783492fdf43b0906c28fbe8e8bae655680406
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
When a host node was deleted the QTcpServer wasn't destroyed, because
it wasn't parented to the actual remote objects TcpServerImpl.
Fixes: QTBUG-97688
Pick-to: 5.15 6.2
Change-Id: Ib28f7d8d20f0d7bfd032c5736d6347f2f3f0c6f6
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-91041
Pick-to: 6.2 5.15
Change-Id: I5b56ed81ee9df658e0c596199dfde067bba6cd43
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current code can throw the error:
comparison of integers of different signs:
'quint32' (aka 'unsigned int') and
'qsizetype' (aka 'int') [-Werror,-Wsign-compare]
Pick-to: 6.2
Task-number: QTBUG-91163
Change-Id: I171833f057d6216a9212c48589ce11f1eb428027
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
| |
Replace the hardcoded cpp exports with a generated one where it's
applicable.
Task-number: QTBUG-90492
Change-Id: Ia349eabdd7cfbdcd8e29e4bb57806ebf58aecf91
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Needed for subsequent change that will check and error out if the
version is lower than 3.16. We do that to ensure all policies
introduced by CMake up to version 3.16 have their behavior set to
NEW.
Pick-to: 6.2
Task-number: QTBUG-95018
Change-Id: Iae47a29fea5ea6a14a7c7fb5528be02c40bbe617
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
User projects might have cmake_minimum_required set to 3.1, which
means that the CMP0071 policy is set to OLD and AUTOMOC is not
used for GENERATED header files.
This leads to compilation / linking errors.
Don't rely on AUTOMOC and instead run moc manually on the generated
header files using qt6_wrap_cpp.
Ensure that all qt6_wrap_cpp calls have a CMake target given so that
they moc call gets the target's include dirs and compile definitions.
Also, for macOS framework prefix builds, we need to be explicit in
passing the location of the RemoteObjects framework.
This avoids 'error: Parse error at "("' messages when running moc.
Ideally this would be fixed in the implementation of qt6_wrap_cpp
somewhat like it was done in
d57ccd923f0df6abf6943c97e8223c9a24f0e4ae but that exact fix can't be
applied to qt6_wrap_cpp because we don't have an explicit list of
dependency include directories at configure time and CMake does not
allow complicated regular expression transformations at generation
time to detect and replace the -I flags with -F flags.
Pick-to: 6.2
Fixes: QTBUG-95832
Change-Id: If773e61151c87fec6cc878ef5ef777487bf1ec7c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation of _qt_internal_add_repc_files and
qt6_reps_from_headers were using qt_manual_moc which is internal API
not available for user projects.
Use the newly introduced __QT_INTERNAL_OUTPUT_MOC_JSON_FILES in
qtbase's qt6_wrap_cpp to run moc and extract the metatypes json files.
Fixes: QTBUG-95832
Change-Id: I64969478a2c1226aa0b73d458acd30c695d7521e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 7e58270087f705ab1b5b499c0849baac6a2f56ea)
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several cleanup fixes prior to 6.2 release:
* Bump the protocol version: several earlier patches are incompatible with
version 1.3.
* Set the datastream format to little endian. Most machines are LE, so
this prevents unnecessary byte-swapping.
* Use 6.2 datastream format
* Update compatibility table in the documentation.
Pick-to: 6.2 6.2.0
Change-Id: I3a96513d9edf351ee30f49bad237005878b54b8a
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The goal is to allow a new syntax:
POD myPOD{
ENUM MyEnum {FOO, BAR}
MyEnum myEnum,
QString myString
}, in addition to the current syntax
POD myPOD(QString myString)
The challenge is that the parsing simplified the detection of parameter
types and parameter names by grabbing everything between the parentheses
and having a separate chunk of code split that up. The new POD syntax
requires the parser to detect and handle parameter types (including
templated types) and handle that syntax.
This converts the enum parsing to use new symbol and value tokens,
rather than the enum_param token, which is necessary to enable a more
generic type detection.
The pod2 type has comparable syntax to the previous version, but uses
brackets ('{' and '}') instead of parentheses for the definition.
While this code detects the parameter type and parameter name distinctly,
it currently merges all of the parameter content into a single string for
processing using the original postprocess method. This ensures the capture
is correct and there aren't any regressions.
The tests were modified for the new POD syntax.
The new code normalizes whitespace, rather than keeping the source
formatting.
Pick-to: 6.2
Change-Id: I671b23852fc2b515bcaea1ed389cfbde122683bd
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
| |
Pick-to: 6.2
Change-Id: I7a6c3aea728a00c21d333ae081b948d7b8a328cd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit ab6e2942fb428c2db3196d786f61e1a9ef79c07b.
Macros add another level of escaping that functions do not. The
conversion of the versionless wrappers to macros may alter the
behavior, so revert that change.
Task-number: QTBUG-96219
Pick-to: 6.2
Change-Id: I2f539d395f8471a87f7d45d6b333ec9d132180b3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds 'localabstract' schema, an extension of the 'local' schema.
An abstract Unix domain socket (which is a non-portable Linux extension)
avoids creating a file handle for local socket communication. This
allows abstract sockets to run on systems that are non-writable, in
particular Android environments.
Pick-to: 6.2
Fixes: QTBUG-96006
Change-Id: I9f7f7854708264c38d05d704f3569bcc9e46cfbf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using function instead of macro prevented the wrappers from being able
to pass back any variables set by the wrapped function in the calling
scope. Prefer macros to avoid future changes which might do this from
silently swallowing such variable setting.
Task-number: QTBUG-96121
Pick-to: 6.2
Change-Id: I22c8c28a446bcb09dc15325d07c30e15e88861cb
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.2
Task-number: QTBUG-95860
Change-Id: I73dc7e92d7613bae9f21f22b3d621e692434b63f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-95987
Change-Id: I49e397a9fb3607bb9e6d477d0f81d93802b86317
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This refactors the signature handling so the AST knows the signatures of
the included types. This, in turn, allows the parser headers to be used
directly for interpreting .rep files, without needing to includes pieces
from the repc tool itself just for the signature.
This also augments the signatures to use more fields
* Handle individual elements of template parameters. For instance,
"QHash<flag, POD>" will have a signature based on the flag's signature,
the POD's signature and the string "QHash".
* Flags include the signature of the enum they are based on
* Enum signatures will include the type (if specified) and scope.
Pick-to: 6.2
Change-Id: Id4e68e61a1c2690939e368e1e8e7555eb81fd68a
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed constness from some local variables to allow automatic move.
Found by the codechecker.
Pick-to: 6.2
Task-number: QTBUG-95752
Change-Id: Ic022f823c8fcf028b81d97ba877fe0409305697f
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the implementations of setRegistryUrl() and setHostUrl() virtual
methods to the non-virtual methods in the corresponding private classes
and call them from the constructors. Although in the context of the
current code the virtual method calls were legal and didn't lead to
anything unexpected, but generally it's not recommended (so the
codechecker complains) and can lead to issues in future, for example
when refactoring or changing the code.
Pick-to: 6.2
Task-number: QTBUG-95752
Change-Id: I13b97e3a1e179b0e5ce5bc7e9bbb9f5bb7166ebb
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
| |
This extends the previous commit to allow enums in hash/map containers.
Pick-to: 6.2
Change-Id: Iaea9f9ddcbf2e01a611e20800305ebbf236eeada
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extends the QList<*> fix to work with associative containers as well.
Note, this doesn't support enums as keys (to be added in a future commit)
There are two use-cases which should be supported by a fix.
1) Proxy, where the parameter is stored, but then forward to downstream
replicas which can be compiled. In this case, the ransformation needs
to support conversion back to the declared type.
2) Dynamic replicas being used from QML. In this case, the dynamic type
should be made available to QML in a way that is equivalent to the
declared type.
Dynamic storage/QML support are from the type QtROAssociativeContainer.
This class is derived from QVariantMap, but stores a few extra members to
allow forwarding without losing type information.
Over-the-wire transfer is via a new class (QAS_), which stores elements
in a QByteArray based on the valueType, not the container. Since the type
will always be fully known at the source, we can use metatype detection to
separate out the problematic types (an associative container of Q_GADGET
types), and convert those to QAS_ containers for sending.
Note: there is one additional piece needed. When we send the definition
of a dynamic type (needed for the creation of the dynamic metaobject), we
need to change the type of any member or parameter that is a such a
container to QtROAssociativeContainer.
Pick-to: 6.2
Change-Id: Ib50a01b4f9a3ecaa25a5a933feb6ed843e104b15
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|