| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: I65c2023bc30b4cacac47e44a039e9db91c98f918
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I7ac9a107ba29dcc8d88df5c1749fdb5baab1234c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I9d2dd3062d62defb4739ff8610fed76bf27ef08d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The extensive use of notes in overview documentation should be avoided.
All the notes are concerned with performance considerations, so
let's group them together in one section.
Change-Id: I4854e078e35190726091b2ef6b7a674abda8b3b7
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
(cherry picked from commit 64f09b80146340d7eac87b51e1c292e69730b21f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original attempt, deb238586a "QQuickIcon: Resolve URL relative to
current element," works fine for IconLabel itself, but not for Buttons
containing IconLabel.
// <style>/Button.qml
T.Button {
id: control
icon: // owner: control
contentItem: IconLabel {
icon: control.icon // owner: this, but should be control
}
}
// user code
Button { icon.source: "a.png" }
Since IconLabel is an implementation detail of the Button, IconLabel.icon
owner needs to point to the Button so the user-specified icon.source can
be resolved relative to the user code, not to the <style>/ directory.
This patch fixes the problem by explicitly resolving the source URL on
setIcon() and propagating the resolved icon object to the inner items.
If the relative URL has already been resolved by e.g. Button, the inner
IconLabel never resolves the URL again to itself.
The problem could be addressed by initializing icon owner only once by
Action/Button constructor, but that would lead to dangling owner pointer
as icon object could be copied anywhere. So I've added resolvedSource
data member in place of the owner pointer.
Button { id: dangling }
Button { id: victim; icon: dangling.icon } // owner: dangling
Component.onCompleted: dangling.destroy()
// ... would SEGV (or use after free) if victim.icon.source modified.
Fixes: QTBUG-95587
Change-Id: Ibdd07118e79f1e1f36e1faea0289150eca734e27
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit dfc16e40ab43e8062b93c566e4316efe4d4f10a0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-65614
Change-Id: I31e2a61e3b2df2432042c8b6028df63cc9cb8d22
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit 8fb4fb6d014ba4bbaa7f7d22998cfda4ea5e9855)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ic10e415810b9a88b31d8f3028f4e4f4b21c8c460
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When compiling for iOS the linking of qmljs tool fails with:
Undefined symbols for architecture arm64 "_qt_main_wrapper"
Fixes: QTBUG-100855
Change-Id: I25a3ca9fd9d5efd2d6906087f1580b2679e6745f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit f3536a202ea124c91dc1ab53bd5c40cdb9b693e7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-75786
Task-number: QTBUG-82015
Task-number: QTBUG-82043
Task-number: QTBUG-82404
Task-number: QTBUG-85622
Task-number: QTBUG-85624
Task-number: QTBUG-88541
Task-number: QTBUG-95863
Change-Id: I361afa8b78e2947b12194b6b1212e59db1b20b11
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
(cherry picked from commit b0848d038b7bacfd656fbadc37993a81068132bb)
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Amends commit 43eaa77e8ed03153335c0002dcc8b660c39a0beb.
Fixes: QTBUG-100377
Change-Id: I01028bd991b8a64bd9dcad31ce90536d83dad0a1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
(cherry picked from commit 41a5c7b223d958bd40240aee81bb8fb96540735d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
For example, it's not possible to customize only ScrollBar and have
ScrollView pick those changes up automatically; you must also implement
ScrollBar.
Task-number: QTBUG-99367
Change-Id: Ie487b0b947fa936e56b5d8e473fbb66287b51c68
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit ce271b1bdf255059f5cc2efe62042508498d1ffa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-100224
Change-Id: I548e0317f148cdedafd553a3591526c40b9b3a32
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit d280b41a096c470bcdc573fb8268aa128e0b7c3b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Include imports into the test resources because they might be needed
by the test as well.
Task-number: QTBUG-97056
Change-Id: If2e0425bdc11024fb2f49c7fe4d6d62f6422f401
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit d736e9a601e6fa03d164e741998627680aa8bf44)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
The warning was about the delegate's parent being null in
QTBUG_48044_currentItemNotVisibleAfterTransition.
Change-Id: I54198b26adea137d539f71c8aebc1ba3a18d1e97
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit e523f00974eeccec4525edf85c732659a9c16119)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QSGRendererInterface::OpenGLRhi is only an (undocumented) alias to
...::OpenGL, so let's use that instead.
Amends 0b2311a62b25c
Change-Id: I4acdd39dc1d9b75bed5c474667a43b4ad86e7f47
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
(cherry picked from commit e2138561df3562c19000af24d43659090c19167a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you call positionViewAtCell(row, Qt.AlignTop) for the last row
in the table, the row will be aligned to the top of the view, as
requested. But this looks really wrong , since it will cause the
table to be flicked to a position that causes it to overshoot
by a distance close to the height of the whole view, effectively
leaving a big empty gap at the bottom. This looks really buggy.
This patch will correct this behavior by ensuring that we never
flick the table to an "invalid" position while positioning
table at a cell using the requested alignment. Instead we
clamp the table to the edges of the viewport.
Fixes: QTBUG-100680
Change-Id: Id3003df784a0128df28ee2e78e2456e1fa1e11e8
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit c3d909ec286962c507e346a8d490b905cdd266f8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
It shadowed a member of *this (QQmlGuardImpl::o).
Change-Id: Ibb4175c27c240102efa86d34b5a822ea70a3a4c3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 88b2a368dcb3e84c762143307d2af90a5314b419)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-100380
Change-Id: I03d99ef05577bfce7c6a39ed5bfdecac33ce7911
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 3bb7cf64994c3b43243b6d000d051f99fdaae03e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-100212
Change-Id: Iaba78e26d9dcaf85e6089639ef95385ad36891f5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 0a28ee11e398ac8947cf6e5699bddc65769e91de)
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current implementation favors recreation of the hash whenever
the git tree hash is changed and a cmake reconfiguration is forcibly
done by the developer. This causes a rebuild of the Qml library.
This dependency tracking is too coarse and not very helpful.
A developer that doesn't touch the Qml library sources will be
confused why a commit rebuilds the library.
A developer that does touch the Qml library will be confused why the
qml hash hasn't changed after running ninja, and even more
confused when it is changed after a commit and reconfigure.
To improve the situation a bit, the build system will now not recreate
the hash when doing a developer build and the developer will be
expected to remove the already existing hash file when necessary.
This will not cause issues in our CI developer build configurations
where cache files are not removed.
Even though the cache files are not removed, the qtdeclarative build
directory will be clean, which means the qml hash file will not be
present and will be created with up-to-date content, thus invalidating
all cache files.
Change-Id: I809b2cffbc5bb2b09af4fb712c7e46a743bfd333
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 09aecb0d7762010249ef8f78ef92367b73a4a1e8)
|
|
|
|
|
|
|
|
|
|
|
| |
This is really useful information and had to be painstakingly
re-discovered.
Task-number: QTBUG-99608
Change-Id: I21f7fc56745c9fb979f61710bebd8ad83e702cc4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 0aa6cafe81eb5cc80461e396751da81bb1db95b3)
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The compile hash changes on every commit, so including it in a central
header like qv4compileddata_p.h would cause many spurious rebuilds.
As we only needed it there for a static assert, we can simply move that
check into a source file.
Change-Id: I9f24cb3faf5172023b0ece9e6aa07db02638c8be
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 28b32ae449913d079f220110ffa90de9a9ee9784)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These QML files are needed for androiddeployqt to be able to package
the QML modules because they're not imported in a normal fashion under
a QML file but rather implicitly inside the test cases.
Task-number: QTBUG-97056
Change-Id: I792462e88a2d8ca43747cffc050fe60987f90ecd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 98fe8834faaaed65c6c162d0cd2af5609caf14f3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes when using the Xcode generator and there 2 or more Qml
modules added in different subdirectories, you get an error like
CMake Error in Bar/CMakeLists.txt:
The custom command generating
build_dir/Bar/B.qml
is attached to multiple targets:
Bar_qmllint
Bar_tooling
but none of these is a common dependency of the other(s). This is
not allowed by the Xcode "new build system".
The main reason for the error is that we accidentally make the _qmllint
target depend on the qml files that are supposed to be copied by
the _tooling target to the build dir, instead of making qmllint
depend on the source files.
The qmllint target queries the QT_QML_LINT_FILES property with a
generator expression, but the values are relative qml file paths.
Within the context of add_custom_command they evaluate to the
build dir qml files that are copied by the _tooling target.
To avoid the issue, ensure that QT_QML_LINT_FILES contains absolute
paths to the qml files. This way it will not depend the output
of the _tooling target and avoid the Xcode issue.
It is not clear why the issue does not trigger when there is only one
qml module in the project. But the fix applies nevertheless.
Resembles 1bd0a5ce02352a600367beb5a5421c8f8332e1fe
Task-number: QTBUG-95763
Fixes: QTBUG-100307
Change-Id: Ie3af503635de3ca61ce5975dcd0983d4e19f259f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
(cherry picked from commit ea7024ef7bcae60c26d0470abb2ffeb56cac1875)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The comment made it sound like ${target} depends on
${target}_qmltyperegistration, but it's the other way around.
Amends 1bd0a5ce02352a600367beb5a5421c8f8332e1fe
Task-number: QTBUG-95763
Change-Id: I15e89395bee9d9ce88fa4d31901dafc4b956e99b
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit f608b4143e09875bf0bc04a820ca013b959905b9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
64c1fbe96c68b1286a70242ff4922be140128cb2 fixed that one could not assign
a constant value to QQuickState::when. However, as alluded to by a
comment in QQState's code, this caused state oscillation, breaking clean
transitions between two states.
The reason for this issue is that as soon as once of the when condition
changes, we check the when condition of all states. However, in the case
of logically exclusive cases we can run into the issue that the binding
of the second state has not been re-evaluated yet. Thus, we might end up
with all states being false, even though the second one becomes true
immediately afterwards.
To avoid this issue, we force the reevaluation of the binding. However,
instead of doing this by using a QQmlBinding property (with all the
tooling and runtime issues that it would entail), we keep using a normal
property. We then ask the engine for the binding, and if it exists, we
reevaluate it to obtain the current value.
Fixes: QTBUG-86695
Change-Id: Id10a3549935794b93b29450b0f5dfb6d1df691a1
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit a8c729d83979fb0b9939044d246e73b1d578e65b)
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
| |
Change-Id: I19ba68d6c138d053b488fca97a801993a5f0d20f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The background property inherited from QQuickControl is a QQuickItem,
which doesn't have properties for padding.
The Imagine style GroupBox implementation would use duck typing to
access potential padding properties for the background item, and if the
background item does not have the padding properties being queried, the
expression will resolve to have the 'undefined' javascript value.
Since 'undefined' is NaN boxed internally to be a nullptr, the setter
for the leftPadding, rightPadding and bottomPadding would essentially be
called with the value '0' as the argument. But the topPadding property
had a more complex binding, using the + operator in its expression.
The javascript expression 'undefined' + 'some number' will evaluate to
the value 'NaN', which is what the setter for the topPadding property
would end up receiving as the argument value.
This patch changes the binding expressions for the padding properties to only
add the background item's padding, if the background is a NinePatchImage,
which is the default type used by the Imagine style.
Fixes: QTBUG-94161
Change-Id: I8de6f47350fa8b6253948fb1be63d651a15d1d58
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit ab46156ee6a8fbe6e50353d2f0c73fdc964bae75)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's from https://trac.webkit.org/changeset/246151/webkit/trunk/
Source/JavaScriptCore/assembler/ARM64Assembler.h
Fixes: QTBUG-100221
Fixes: QTBUG-100279
Change-Id: I7a5ec6d97bf52f8cc7bcfb70f184565fc4b78624
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit aacf799ca7aab57133855ed4c1c639c6e8dffe63)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Amends 0a1e4cc7ec7548f6273befff9cdddb0bc7a58961
Fixes: QTBUG-100469
Change-Id: I6d0f48fb9b02cc9779233bbb2a93107c93b11ca4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit bc6c16c346aa94f6c4eb9548d256b5c81cdc2a0e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit a055629f43cf8589ff6d69e46b2610429aaa4167.
A SwipeView is a ListView, which means as long as the side-by-side
delegates are the right size, only one of them should occupy the area
of the SwipeView itself. The other delegates (isCurrentItem == false)
are to the sides, and might be outside the window, hidden under other
items, or clipped. So hopefully there are not users who rely on this
culling to hide them.
Fixes: QTBUG-99547
Task-number: QTBUG-51078
Task-number: QTBUG-51669
Change-Id: Ic90dc1c44b9a36dc717238b47003b4d88e91f789
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit e10de033f4c44855de7287a97e2aa651f648742e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QGuiApplicationPrivate::lastCursorPosition is initialized with qInf();
so before the mouse cursor has moved, attempting to convert to QPoint
is an error. QWindow::mapFromGlobal(const QPointF &) exists in Qt 6
so hopefully there's no reason to convert it anyway.
Task-number: QTBUG-45045
Task-number: QTBUG-52472
Change-Id: I6ab651e874ed0af2f18735f8bd8eb374a4781bcb
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 8fe35a003b04d31f09d3e83a03ffa2843266f9b5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fails with no apparent reason
1: FAIL! : qquicklayouts::Tests_GridLayout::test_spacings(NaN) property itemRect
1: Actual (): [18,0,10,10]
1: Expected (): [15,0,10,10]
Change-Id: I796ea18d2d29780ae2433d9b9b4d2be8d09d495a
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit 5ed37bbbf1a32d1e32a82371d8602a54ba591b6d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we don't detach, they could be modified between the time that the
event is stored (delayed) until it's delivered.
QQuickDeliveryAgentPrivate::compressTouchEvent() had no explicit test
coverage until now; in fact, most tests call QQuickTouchUtils::flush()
after every touch event to ensure that it gets delivered immediately.
Also add internal docs.
Fixes: QTBUG-97185
Fixes: QTBUG-98486
Fixes: QTBUG-98543
Change-Id: I6fd76651ca6fbf15169c44d4d9dbbeb7dc7e3a71
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit d08038ba7015dc681c95654f7fe5e54b60c2e55c)
|
|
|
|
|
|
|
|
|
|
| |
Mark the item as dirty when checkedChanged is emitted.
Fixes: QTBUG-95033
Change-Id: I506a5f93c62c9a4d322fbbf7f22e04b2a83d089f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 1c9e6c025c68bc6d0cb939279e8fb1d1d046f56a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The qt-conan-common package implements a base class for Qt leaf
module recipes. The build steps in leaf modules are mostly identical
so it makes sense to put those in the base class.
Dependencies are read by the base class from the 'dependencies.yaml'
which is the same file the CI system uses.
Change-Id: I2b9f9f449eb8a855f7e8109c7268063e006bd3e2
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 0aaf1d17d03118b96e6773acfe4c79d65aaa9b2c)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After destroyObject(), the QObjectWrapper is still alive. We might use
its heap object again. Furthermore, the Heap::QObjectWrapper dtor does
not actually do anything defined. What we want to do here is clear the
QObject pointer because we've just gotten rid of the QObject. There is a
method for that: Heap::QObjectWrapper::destroy().
Finally, the internalClass must never ever be nullptr. Assert on that
rather than checking it.
Task-number: QTBUG-100431
Change-Id: I794a295c182b2ed4ba80673f58d6143c861b7391
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 6c197319f34b8098d034f1543eb5feb9d7be54c3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows us to enable testing on declarative for the module
as a whole and have some sort of test verification for the mean
time, and fix the fails over time.
Task-number: QTBUG-100003
Task-number: QTBUG-100014
Task-number: QTBUG-100016
Task-number: QTBUG-100018
Task-number: QTBUG-100020
Task-number: QTBUG-100021
Task-number: QTBUG-100164
Task-number: QTBUG-100166
Task-number: QTBUG-100167
Task-number: QTBUG-100169
Task-number: QTBUG-100171
Task-number: QTBUG-100173
Task-number: QTBUG-100175
Task-number: QTBUG-100176
Task-number: QTBUG-100177
Task-number: QTBUG-100191
Task-number: QTBUG-100253
Task-number: QTBUG-100254
Task-number: QTBUG-100256
Task-number: QTBUG-100257
Task-number: QTBUG-100258
Change-Id: I85bf1501b94f04853a1ca715e35df0a56041308a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit f22d884faff5f68230981fc191527c67aeb8a18f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In QQmlAdaptorModel, we were using QQmlStrongJSQObjectReference to
ensure that a passed in model lives long enough. However,
QQmlAdaptorModel uses reparenting to keep objects alive. This is not
safe, as we can use QML singletons as models.
Reparenting singletons messes with the engine's lifetime handling once
their new parent gets deleted: The object will be marked as
queuedForDeletion by QQmlData::markAsDeleted; consequently wasDeleted
returns true for the object, and any ScopedObject or ObjectWrapper will
return nullptr when we try to retrieve their underlying QObject.
The actual object probaly does not get deleted, as it is not placed in
the QML heap. Consequently the gc will ignore it.
This leads to a crash when the singleton is accessed in a different
place: We see that the object is non-null, create a ScopedObject for it,
and then try to later access the ScopedObject's underlying object
(assuming that it must be non-null, because we already checked for the
actual object being non-null). However, due to the reasons outlined
above, we actually receive a null pointer, and thus encounter a crash.
To avoid he issue, we change the lifetime management strategy: Instead
of using the parent to keep the object alive, we now use a
QV4::PersistentValue.
Fixes: QTBUG-100260
Change-Id: I266e6ef94c4f079de3da2742d6fb8d61df5a64ce
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 6901eacff40a7d8781e20fb5bcfd28d7526b589b)
|
|
|
|
|
|
|
|
|
|
| |
qmlcachegen is not meant to be available on the target.
Fixes: QTBUG-100366
Change-Id: I5cbaa62e85d9a5dd6467840eb4e3ba5e3b63857c
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
(cherry picked from commit d245985f0b7aa698be2bd9c196fd7b9299aa5693)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This test is so slow on QNX that it times out:
QFATAL : tst_QJSEngine::newQObjectRace() Test function timed out
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QGuiApplication(0x169b0a6b90),
parent's thread is QThread(0x37eb7070f0),
current thread is QThread(0x37eb734150)
FAIL! : tst_QJSEngine::newQObjectRace() Received a fatal error.
Task-number: QTBUG-99168
Change-Id: I623bff212b8334af60198e52bc283cc97187c3a7
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 7fcc9c7f5848ac8c8264341dca7a0b5a3f0dec94)
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-98039
Change-Id: I51ff36994fa0f3f3568c8114cb6841f677f64bc4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit eeec9f03e9cf57e8cde311897f7e3e62a217da15)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I94d1f1c2b5afe7a20d1554238a223c3c002c8428
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit c97955b39db4ecfa22ec211b1b6b0e7b4422e13f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-99124
Change-Id: I6152da783668eea121cb294a884f4ed3577cfbef
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit 9052e09a21fd77c44127f9c75dc8aff8ae60184d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bundle all data resources and make sure all imports and bundled.
Add dummy.qml files which are needed for androiddeployqt to be able
to package the QML modules because they're not imported in a normal
fashion under a QML file but rather implicitly inside the test cases.
Task-numer: QTBUG-97056
Change-Id: I8be72c06994cc7bd90fb176a19bf69142b225fd1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit b6413335b0a977e5c7218c4d74fb090fa11bf52e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QNX tests are run on CI in qemu using offscreen
qpa plugin and software backend similar like b2qt.
See QTBUG-95750
Task-number: QTBUG-95750
Change-Id: I4c6e4a513f8289d50922259e474a41173c29224b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 8dc54c99fdab33603b68595d9f0e1a6eaccf5dd6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
You can use them as singletons.
Fixes: QTBUG-100326
Change-Id: I8e07600657bd43ba8376279ffe39cfa5d3213c38
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit bf38043b6107cb10bca4be78ecc8bbc20338a61b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
...otherwise qmllint will not find the attached property
Fixes: QTBUG-100339
Change-Id: Id72d714494c0a612a3a351937b757d1a6e969166
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 8f6a4026221ea0dd366022c588518af0c220443d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
For QNX tests are run on qemu with offscreen plugin and software
rendering.
Change-Id: Idda75387bb7b2a4fc9117a442e307a2b741bc5c5
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit 11dacf93669ac68b212e343b996a076c8b16ef97)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I9a9045243124d3646b52a88f76ba1d0503d27ecc
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|