| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
As suggested by Ulf, in addition to correcting the documentation
runtime warning will be helpful. This commit adds the warning
and a test for that
Change-Id: I6dbd727e493431d7d71efbc5b527df8d67d50dcd
Fixes: QTBUG-109371
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to QUIP-18 [1], all test files should be
LicenseRef-Qt-Commercial OR GPL-3.0-only
[1]: https://contribute.qt-project.org/quips/18
Pick-to: 6.7
Task-number: QTBUG-121787
Change-Id: I30b19c0d11d2955cfbda4db048c389ed6d245438
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Standard says https://www.w3.org/TR/scxml/#script that there should
be either src or some content in the script tag. Compiling should fail
with non-conformant .scxml files.
Adjust the number of the errors in a few test because of newly added
error.
Pick-to: 5.15 6.5 6.6
Fixes: QTBUG-118050
Change-Id: Ib72f7cca53e427a5a83a6aaa3a8a197818e8693f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adjust to the changes in QTestPrivate that allow to catch binding loops
when testing bindable properties.
Fix the binding loops identified by the updated tests.
After fixing all obvious binding loops, it was discovered that the
call to QObject::objectName() in the tableData property setter creates
a binding loop on its own.
Fix it by accessing QObjectPrivate's internals instead of calling
a public getter.
Also add a test to verify that the logic of updating the objectName
did not change.
Task-number: QTBUG-116542
Pick-to: 6.6 6.5
Change-Id: Idc849dd9841dc70df2d36524cb5bb0a331255f39
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All bindable properties were not breaking the binding if the new value
was the same as the old one. This is incorrect, so fix the logic.
Also, use (set)ValueBypassingBindings() to access the properties.
Update some helper functions in QStateMachinePrivate to also use these
methods instead of directly accessing the properties.
Some of the QState's properties cannot really be tested for the binding
loops with the current approach, because they require that the new
state belongs to the same object. Explicitly pass a lambda that returns
a nullptr as a helperConstrucor parameter for such cases, meaning that
binding loop checks will be skipped. In practice these property setters
are trivial, so they will not cause binding loops.
Pick-to: 6.6 6.5
Task-number: QTBUG-116542
Change-Id: If02c35df2b9c651c7f21f6f85752912e56688c71
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This one is a bit special, because the setter assumes that there is a
QML engine handling the object.
As a result, creating a helper object for testing binding loops is a
bit tricky. Do it by having a helper QQmlComponent based on a qml file
with a SignalTransition object as a root element.
Fix the binding loop in the setter in a usual way.
Task-number: QTBUG-116542
Pick-to: 6.6 6.5
Change-Id: Ibd22dee0619a69b52901e9fe2145fcfbd9dcf98c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QScxmlStateMachineLoader::source setter assumes that the loader is
managed by a QML engine, so use a helper QML file and a QQmlComponent
to create a helper object and run the test for binding loops.
The binding loop here is a bit tricky, as the source setter modifies
two properties: source and stateMachine.
The fix for the source property is trivial.
The stateMachine property is read-only, so modify the
setStateMachine() internal setter in such way that it does not create
bindings. After that, manually call notify() if the state machine
has changed.
Use simpler state machines in the test, because the original ones
were generating the ASAN memleak warnings from scxml compiler.
Task-number: QTBUG-116542
Pick-to: 6.6 6.5
Change-Id: Ia8427ed07c1e63e5740b2f0817fe6b2cb48726b8
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
The QState::removeTransition() call releases ownership of the removed
transition, so we need to delete it manually.
Pick-to: 6.6 6.5 6.2 5.15
Change-Id: I324348af2e63e242e3d9a69fdbd83eefb94bb852
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
|
|
|
|
|
|
|
|
|
| |
Wrap the created objects into std::unique_ptr, so that they are
properly removed.
Pick-to: 6.6 6.5 6.2 5.15
Change-Id: Iafeb04034b9c8109f2a1cb112e889211a6ac2e68
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
By adding it to the default build flags via .cmake.conf.
This amends commit 7f218afc89150e40d4f2f5f796d43a6e74e40532.
Task-number: QTBUG-116296
Change-Id: I1bf7c798a882fbf6bc324f4a1caec7df15628056
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-109786
Change-Id: Ibd679d64d44c549d62015454f11aaf5bc75f2d45
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
tst_scion uses raw target_sources calls. These are repaced with
qt_internal_extend_target, which handles the case when a test
has been batched.
Task-number: QTBUG-109786
Change-Id: I7f6bf28100328c7b873ca94673654341824bd55a
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Rather, just reset the transition.
Pick-to: 5.15 6.2 6.4 6.5
Fixes: QTBUG-110286
Change-Id: Ic25a6c7b841a47b180e1a62c7bdbd2e388cdc293
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-99238
Change-Id: I68008cf74ebf7586f0e65005ffbce474a2890146
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The history state is not present in the generated statemachines,
and the states following a history state have a state index that is
lower than what the actual statemachine considers. This patch adjusts
the index calculation on the statemachine side.
The scion test suite history tests passed because it used the
activeStateNames() method for verifying which states are active.
That method worked. This commit also now amends the scion
verification to cover the metaobject access and (de-)activation
signal emissions; the scion history tests would now fail without
the index handling adaptation of this patch.
Pick-to: 6.2 6.4 5.15
Fixes: QTBUG-80262
Change-Id: Ifc509794bf3dca6c81e969e8a4e2bbaf9618d275
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.4
Change-Id: I3c8422f4568fc60cf6cd3c247e008cacdcb18249
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: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: I4b4548c9d4a13337731159c1e1184e48bb0a328b
Reviewed-by: Fabian Kosmale <fabian.kosmale@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: Iaf46b2ba54f3b125aee087c2cacb702d8d564201
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: I31c9b88ff5d23016fe8844d711553b010d9ba46e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I467f50198ac9453e36533d958dd499fc9358562d
Reviewed-by: Alexey Edelev <alexey.edelev@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: I5d2588f7e3fd99bbb8bccca1dcb256afc215231b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
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: Ic435d3a484be01542f27431068419a2c252bd1f6
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This ensures that qmlimportscanner finds the necessary modules and
that androiddeployqt packages their libs.
Pick-to: 6.2 6.3
Change-Id: Icc91fc828d770a1b5cc8e489b117595f1f6d2783
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to expose the test data in the CMakeLists.txt so that
qmlimportscanner can pick it up. We also want to see the error string if
the instantiation fails.
This test only worked on Android because of a different bug that makes
Android tests pass if the data collection fails.
Pick-to: 6.2 6.3
Task-number: QTBUG-102252
Change-Id: I0c7dee57eca9ab2dedf7818c91ce55e32d658c42
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.2 6.3
Fixes: QTBUG-102252
Change-Id: I84b0f3841b8677e15b287ad6dab2c038d8107043
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit b833f3a53fae6bcda5a0572efd25e63dad520ee2.
Reason for revert: Fixed aec6b0075863bff181d1d3dfdf1399264de01f67
Task-number: QTBUG-101343
Change-Id: I09600ade0ad3f7eb3f925347f86c01b93366d77f
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- tst_anonymousstate::compile on qnx
- tst_signaltransition::compile on qnx
- tst_initialstate::compile on qnx
- tst_trafficlight::compile on qnx
- tst_guardcondition::compile on qnx
- tst_historystate::compile on qnx
- tst_parallelmachine::compile on qnx
- tst_nestedinitialstates::compile on qnx
- tst_triggeredArguments2::compile on qnx
- tst_enumguard::compile on qnx
- tst_triggeredArguments1::compile on qnx
- tst_nestedstatemachine::compile on qnx
Pick-to: 6.2
Pick-to: 6.3
Task-number: QTBUG-101343
Change-Id: Ied74e3dd3d097b72bee4523f9aea59abe4eaa793
Reviewed-by: CI Insignificant Platforms Monitor Bot <ci_insignificant_platforms_monitor_bot@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-94446
Change-Id: I88f42eb731cbd9514f34a0e9e88b1ce90a4cf9e8
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-92967
Pick-to: 6.2 6.3
Change-Id: Ia2114a101cab11db30eeb1de18659aa1ea5b7866
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
...with _qt_internal_wrap_tool_command() calls.
An explicit dependency to the qscxmlc target needs to be added.
See CMP0112.
Change-Id: Ibad7000de505517bcb40c83ab218318e2b4e82db
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building qtscxml repo target sets one by one, and including the
repo-target-set specific TestsConfig.cmake files as part of a
standalone test build, certain targets might not exist.
Guard them with TARGET checks.
Pick-to: 6.2
Task-number: QTBUG-96253
Change-Id: I6dd30b96919c6090934be14604cbad1bf965c514
Reviewed-by: Craig Scott <craig.scott@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Renaming as a result of CMake API review. The old option names
are still supported but marked as deprecated.
[ChangeLog] Rename QSCXMLC_ARGUMENTS and OUTPUT_DIR CMake variables
to be better aligned with other CMake APIs (OPTIONS and
OUTPUT_DIRECTORY respectively).
Pick-to: 6.2
Task-number: QTBUG-95178
Change-Id: I8500dd4e1d992ccba7378d37cda65d9760558dc5
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I96ea9ed25824d7fdd495686f4224dd1391353e7f
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The previous code only worked because the relevant QTypeTraits templates
were only instantiated after the first operator<< was defined. We cannot
rely on this.
Fixes: QTBUG-94125
Change-Id: I86e1b146cf83e337c87893ef0e2dc02e7edb3671
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
For some reason with MinGW the statemachine code generation failed
silently if the provided output directory (where to store the generated
.h and .cpp files) did not exist. This commit creates the directory and
also adds a warning if nonexistent directory is tried to use.
Pick-to: 6.1
Change-Id: I161d7646b4be5bf52fd045d0bf124ab2f8987668
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
| |
Fixes: QTBUG-93727
Change-Id: Iadd798d06eca246947b105a3ad1aef11f80917b2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QML autotests are now built and run as part of the autotests,
where they previously relied on running with qmltestrunner
manually.
Also fixes one testcase warning about missing 'initialState'.
Additionally this commit adds one QML testcase which tests a Scxml
bug that was specific to Qt5; while the bug does not happen with
Qt6 it is important to add the test case also to Qt6 to catch any
regression in the future.
Change-Id: I8fbaa44dab52b64a4d2c5c73ad5d3e3ff2eb0346
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Also add the missing fail-checks after the helper calls.
Task-number: QTBUG-91375
Task-number: QTBUG-89895
Change-Id: I889657fed7488508c5e4157c7527f54f4232a2f5
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-91375
Change-Id: I4538aead93fca999a8dd28ea5eaf8cbca5429c7d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-91375
Change-Id: I67d92304029032f45daa0db2f2708e41205fefe8
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-89895
Change-Id: I11f1caec9eee9b9767691c93e4deb0dbf57be496
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This commit covers these QML-facing classes:
QAbstractTransition, QStateMachine
Task-number: QTBUG-91375
Change-Id: I3c7d4244a4113c6ea0b06fedde02d638fc558ccc
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The commit uses 'mutable' and 'const_cast' to able to serve
the bindable property without creating an additional copy (== avoid
additional memory usage). These are flagged with a comment
around them and in future we may be able to remove them as
the bindable support evolves.
Task-number: QTBUG-91375
Change-Id: I91f3c823eac1979628731853e20ed82a34636d99
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This commit covers these QML-facing classes:
TimeoutTransition
Task-number: QTBUG-91375
Change-Id: I84c1cde2c9f7574f527d0d362984b1b0fe59802c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This commit adds the bindable support to following QScxmlStateMachine
properties: invokedServices
Task-number: QTBUG-89895
Change-Id: Ib9806e295f8aa7c1d3eb123cd3a151796a3a7c80
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds the bindable support to following QScxmlStateMachine
properties:
initialized, initialValues, loader, dataModel and tableData
Task-number: QTBUG-89895
Change-Id: I33545d9d45a4fbf52a4a220d559b7ee75351a268
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This commit covers these QML-facing classes:
QSignalTransition
Task-number: QTBUG-91375
Change-Id: I0f55f55c5198d30260762583ec10d35351e217b6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This commit covers these QML-facing classes:
SignalTransition
Task-number: QTBUG-91375
Change-Id: I58bca7b4599b420aa99492233f9d88ea4af7e877
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This commit covers these QML-facing classes:
QHistoryState
QState
QAbstractState
Task-number: QTBUG-91375
Change-Id: Ic66977c4f25198c19052f48754a956042caa3632
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|