| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Previously QQmlApplicationEngine did not handle any errors that occurred during object creation
(i.e. failures to initialize required properties) which lead to QObject::connect errors and to
the error messages not getting printed among other issues.
Change-Id: I69bc566a6d349c786cae82a963a621388684c8f5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 890cb4cb236333fd5b112fffc0e9088ecb43f2df)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an item was removed from the DelegateModelGroup before it was
completed it caused subsequent items in the model to be missing in
some cases.
The reason was that while populating the ListView, it iterated with an
index for each item to call createItem() on.
However, createItem() might call onCompleted (which in the case of
QTBUG-86708 removed the item from the DelegateModel), which caused the
next index we called createItem() with to be wrong (it became one step
ahead).
We therefore add a helper class MutableModelIterator, which keeps track
of if a index in the model got removed (and if the iterator index needs
to be adjusted because of that)....
Task-number: QTBUG-86708
Change-Id: I33537b43727aed4f2b9bdda794b011b6684c44b4
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 0ff9db566c48172c688bf9327fe6a781dc4a1c34)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you have a TableView with only a couple of rows, and you add
a third one, the contentHeight doesn't update. This is fine if
not all rows are loaded (some are outside the viewport), but when
they are all inside, it should update to reflect the exact height.
The same is also the case for the contentWidth. If you add a new
row that increases the with of a column (and all columns are
visible), the contentWidth should update.
This patch adds an extra check when we do a rebuild (which we do
when you add a new row), to see if all rows or columns are
loaded. And if that is the case, we update contentHeight or
contentWidth, respecitively.
Fixes: QTBUG-92099
Change-Id: I806bfb7c3606fca97c5d27cbb91856cc40df9fb8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit d6a5afd120838647e0dd2a420dacf06389f0a48e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Binary compatibility files added
Change-Id: Ifccf803f8f2bcf1b5c857ae36fb7090700ffe4b8
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit e8a0014cc847cc10247ffbe1d7e6f5b8e25738b8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Change-Id: Ib18e8aa7acf2c5abd68578f4f4405a977d19d286
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
(cherry picked from commit 799495cb7da2aa47c6442f035b4e6a8a3efc5ae8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the gesture begins, we begin multiplying the target item's scale
by 1.0 at first; it doesn't make sense to start immediately with
the accumulated scale remembered from previous pinch gestures, because
the target item remembers its own scale.
When QQuickPinchHandler::wantsPointerEvent() returns false because
some irrelevant gesture was received (for example a PanNativeGesture),
that's not a good reason to deactivate. Deactivating and re-activating
with each ZoomNativeGesture event results in extreme behavior, because
PinchHandler depends on the BeginNativeGesture and EndNativeGesture
events to reset internal state. Likewise, the fact that the button
state is NoButton is not a good reason for wantsPointerEvent() to
return false.
Added an autotest: the first of its kind that actually simulates the
native gesture events.
Fixes: QTBUG-92064
Change-Id: I3a9b92d70f99497ee58ad8557d90d521fbe16d41
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit fc636af3a723ee8b4ee42cf71864ae0df5ca4621)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As it stood, we would return early from forceLayout if no items
were loaded. This made sense, since when no items are
loaded, there would be no items to lay out.
But after we changed the logic so that an application can
show or hide rows and columns by returning an empty size
from the size providers, we now always need to do a layout
to check if some rows or columns should become visible.
Fixes: QTBUG-92076
Change-Id: I2a07bf8e62cfeebcbe36c01aa92eca3ed8227cd3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 9ba9336ec4515d157a1207fad1dcd2de311527ac)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
| |
Pick-to: 6.0
Change-Id: I367b4b914d1956a6312fcc6e8b16d47762248d41
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The tests are very likely to fail if window exposure fails, so verify
that it doesn't.
Change-Id: I484d10e6bf8fdf5199bef070198f5405ab8f249b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 80ee53c07c425f3d469dab5824572031fde6405e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I021c3354932584cb976d3529ff47f7a826731336
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 955181ebc554240cd8fa792a125369aeb56a2eb0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
fuzzyCompare() messed up the arguments and compared the first color
argument with itself (ignoring the second color).
Fixes: QTBUG-91694
Change-Id: I86453c937e27a2112f8375b144ca21a9d088f017
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 35a0c2552f17e40d3584af422a3c5fe75c700d0f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously HeapObject::GeneratorObject utilized a ValueArray member to store stack information.
As we rely on all HeapObject members to have a constant size in order for QV4Table::inlinePropertyOffset
to remain accurate, this lead to a memory conflict when a user defined his own property on the Generator.
Please do not use ValueArray for any types that are user accessible or that you intend to add properties to.
Now the stack information is stored into ArrayObjects instead which circumvents the issue.
Fixes: QTBUG-91491
Change-Id: Id6f638bf36a3ae3c9320ac99e67214c48dc81226
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
(cherry picked from commit 7ea690c61dabd2485e80e7fae9aed392ba02c846)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-91519
Change-Id: Idfe3116c2e94b8e96300d72e15db0bc78425f517
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 2cb306c194625626957fcde44bd56473b0436f83)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Suddenly we get 3 hover moves when there were only 2 mouse move events.
The reason is not yet clear.
Task-number: QTBUG-91548
Change-Id: Ib65194639aa059ae6ee0324b3faf2cfb7d234e1e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the type of a var may change at runtime and we thus can't make any good predicitons
on its actual underlying type we will ignore it from now on (as already done for variants).
Fixes: QTBUG-84060
Change-Id: I36795ef2047629d3c870bf8a9df59dcd3db06633
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 25ae86d1d98dbf3900eefea152b072939be8ea71)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
QObject::staticMetaObject is not very useful.
Change-Id: Ifc40e1fa08755c59ff6b8ae23a7a1257f34507da
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 89ebac46d7bde1df265b8970132bf09dc790eca2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickWindow owns QQuickRootItem which owns QQuickDeliveryAgent, so
for every window there's an object responsible for event delivery,
while the window itself is mainly responsible for rendering (separation
of concerns). However, QQuickRootItem and QQuickDeliveryAgent can now
be used in cases where the scene doesn't directly belong to a window,
such as when a Qt Quick sub-scene is mapped somewhere into a Qt Quick 3D
scene. In that case, we must remember which delivery agent was in use
at the time when a QEventPoint is grabbed and deliver subsequent updates
via the same DA. There's also a QQuickDeliveryAgent::Transform
abstraction which subscene-management code (such as QQuick3DViewport)
can implement, to provide a formula to map the window's scene
coordinates to subscene coordinates; if defined, it will be used
during delivery of subsequent updates to existing grabbers.
Task-number: QTBUG-84870
Change-Id: I70b433f7ebb05d2e60214ff3192e05da0aa84a42
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit 68c103225f4e8bd6c1b18ef547108fd60f398c0f)
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Otherwise qmllint and other tools won't know what QQuickItem is in this
context.
Change-Id: I68da08cf2c41f17a2623f30303ac8f66b7b9329a
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 1a4b0929de72d533c56dd38a9eaf49d21f16e197)
|
|
|
|
|
|
|
|
|
|
|
|
| |
In qmltypes, enum types can be scoped, just like in C++. Resolve those
scopes.
Also, resolve the enum scopes only once, in order not to duplicate the
types.
Change-Id: I095ec11f0ffec8e0e5f1034023c8956d2d39f660
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 75b99a10b3229c7ed14ded8622f3334c3cd02af5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For each binding there should be a property and that property should
have a type we recognize.
Enums can be property types in C++. We support this by adding child
scopes for such enums. The child scopes are then referenced by the
QQmlJSMetaEnums and derive from int.
The test then reveals that we were missing a few properties in
QtQuick.tooling. Add those.
Change-Id: I1deef94393ee0e17d34c2dc5980ebfbf25417f36
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 08c8e8ac3ba8eb23ae5c158990f5d029ac9988ed)
|
|
|
|
|
|
|
|
|
|
|
| |
Now primitives such as integers and strings should also work.
Fixes: QTBUG-85615
Change-Id: I201d1844b7272ca50e32f1e33e9ac357b5e68dfe
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 64102ae231317eb6f637304918e55153dadef72d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Previously, all attached property scopes were just ignored.
Task-number: QTBUG-84369
Change-Id: I324becf92402eacea9d150e6e51359edae562dde
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit f34ecc8f99522b69d1aaa3d5d233add9ed9b6da9)
|
|
|
|
|
|
|
|
|
|
|
| |
If we don't declare the dependency our tools won't figure out where
QQuickItem comes from when analyzing the dependency hierarchy of
layouts.
Change-Id: I389c9e513a3a65143aa6b6fbf508eee584970181
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit fe7318a6cf4398802f919766f2ac585bd844cf48)
|
|
|
|
|
|
|
|
|
| |
We seem to be checking grouped properties twice by endVisit(UiObjectBinding*) and endVisit(UiObjectDefinition*).
So the UiObjectBinding variant is removed here as this gets run before all type information is available.
Change-Id: Idfe23869792f787df6109cde3b6bc1d96cce3dc3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 4660f51f25a6c56182dff0ea24f7c1ad2bac9cea)
|
|
|
|
|
|
| |
Change-Id: Ie04ad4221b25628687c2575facf90488b83d21bf
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 5fb34b67b810ca284c216009925f4f38220c4510)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQmlData::get expects a non-null pointer, therefore we need to check
whether the object still exists.
Note that while this fixes the crash in the referenced bug,
PropertyChanges still does not support a dynamic target.
Task-number: QTBUG-46350
Change-Id: Ifeecf5df83e87468a1d314ce2b120006124d6f4b
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 1ff376e64bf5af6df7e0079700d2b9164037dc89)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Blacklisting doesn't work when the tests crash, use the emulation
detection instead and skip tests.
Task-number: QTBUG-90869
Change-Id: Icd9cff8b9d45edc2f97ae13acdf0e71ed44aa0e4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 77156cd98f3e29d9bd89df335bb172e59da43483)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The modulo operator has special semantics in JavaScript. We need to
mirror those.
Task-number: QTBUG-84369
Change-Id: I5a4d63a01e232686832c83f2def0faf57e7359c2
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 84cf29933cee44e09590fc89ae800dd453f664ca)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
You can also cast enums to integers, after all.
Change-Id: I283d3dd280eeb44ba22bb45ca9be69e5358d5781
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 453be4e6065a323e7fc0ea93fa0bee845d2020cd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
"on" assignments are assignments to the default property, with the
property given interpreted as the target for the inner object.
Change-Id: Ia93a171f759964d2c00d6c0293a5434f588123af
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 67c8afff346eae27c6fb833661d179326dd8b153)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
It's easy to mess this up when you transform your signal handlers into
functions.
Task-number: QTBUG-89943
Change-Id: If35be2f6828a0e19aada19abb41d8135b0c6ab45
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit f0ecad1e99461109e69cd2b0f6271012c20005dd)
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickItem returns whether it contains QGuiApplicationPrivate's
lastCursorPosition. Since that position stores the coordinate last seen
by Qt (the window border), it will always be within the window, and
within an item that covers that part of the window's border.
However, QQuickWindow stores the lastMousePosition as well, and resets
that value when it receives a QEvent::Leave. We can use that to test
whether the window that contains the item has seen a Leave event, in
which case the item is definitely not under the mouse.
Notes on the test: That we use QPointF() as the "reset" value leave the
small possibility that the cursor might be at position 0,0 of the window
(ie inside the window), and the QQuickItem there will not be under the
mouse. We can't confirm this (through an expected failure test), as
QTest::mouseMove interprets a QPoint(0, 0) as "center of the window".
And since we can't simulate mouse moves outside a window's boundary
using QTest::mouseMove, the test needs to explicitly synthesize a
QEvent::Leave for the window.
Fixes: QTBUG-87197
Change-Id: I04870d6e914092275d9d790312fc702fb99f2935
Done-with: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit ba1246c543118515ea244787f3d7f9c1133ccf0f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
You should declare functions with formal parameters if you want to use
parameters passed by the signal. We need to generate two different
warnings because there are two code paths by which such parameters are
injected. If we compile with qmlcachegen, it simply inserts a lookup
instruction in to the byte code. This lookup then triggers our special
hack expressly made for signal parameters. If we don't compile using
qmlcachegen, a function declaration with formal parameters is
synthesized. We mark those formal parameters as injected and warn if
we see one of them used.
[ChangeLog][QML][Important Behavior Changes] The automatic injection of
signal parameters into signal handlers is deprecated. This is because we
cannot determine the names of the signal parameters at compile time.
Furthermore, also for human readers it is difficult to discern between
arguments, context properties, properties of the current object, and
properties of the root object of the component. Requiring the signal
parameters to be explicitly named resolves some of this confusion. You
can turn the deprecation warning off using the "qt.qml.compiler" and
"qt.qml.context" logging categories.
Task-number: QTBUG-89943
Change-Id: If0a5082adb735a73efd793868b3a55bc7d694cbe
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
(cherry picked from commit df70d4f76f9c1c7b3de9ae91877df803c18b1264)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Fix compiler warning, QScopedPointer::take was deprecated in Qt 6.1.
Change-Id: I67045bce97efb082b1b7467a6c24d5dbf996fdc1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 070072e7cabd6f4f26f4938b1616e56254ad25d9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This collides with injected signal parameters. qmlcachegen cannot tell
those cases apart.
[ChangeLog][QML][Important Behavior Changes] QML warns about JavaScript
variables being used before their declaration now. This is almost always
a mistake. It is particularly dangerous in the presence of injected
signal parameters because qmlcachegen cannot identify a name collision
between an injected signal parameter and a variable being used before
its declaration. It therefore miscompiles such code. You can turn off
the deprecation warning using the "qt.qml.compiler" logging category.
Task-number: QTBUG-89943
Change-Id: I8a9424ca8c6edd562402fe5c560ba7e8344b5585
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit ab71cdafca87513a4e214d3af056d8990bc1eddb)
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-86482
Change-Id: If938fad22f51b08fe3cb20b94634efe46a1eed47
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit e887f25dd6c4c9630a7367c3a2ed95a284191843)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We cannot use reinterpret_cast here, because testUnit->constants()
returns a pointer to quint64_le data, which needs to be converted to
native endianness first.
Here I used the QV4::Value converter that accepts quint64, so this
conversion now happens implicitly.
Change-Id: Iff6e3e4554af8890e61cb06e6fd79339c7a14653
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit dab0d62b655ce9a476993de2558a573a5066288c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-90038
Change-Id: Ic01b5d097e0b9e6720bcec7ccb18c22abb5418f4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 001596d472557bca08eb93159e724301dea88ad6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently removing an item connected to a particle
only invalidate the particle that will be reused for
the next item set. This has the effect that the new
item inserted appears in the same position as the
old one just removed. This patch force killing the
particle to assign next item to a new particle
starting from initial position.
Change-Id: Ic937a6d7aea65368cceb1405bb81ef1502d988a5
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit d0b1bef8b889ab852eaf906fdc9cd4219238872e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
setCurrentAnimation() can indirectly delete the animation group job
itself by invoking the animation controller. Use the RETURN_IF_DELETED
mechanism to avoid the resulting dangling pointers.
Task-number: QTBUG-90401
Change-Id: Ibd0ad21e8d3af4760604c3ff37dc46101d5f49ad
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 680f28b08f65ad38c8d5498b5738231b2a2779a3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
More tests fail on offscreen platform when tested on QEMU on CI.
Task-number: QTBUG-63185
Change-Id: I293e9b32078bf2567fbb9773cedf6777ad182a69
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 34477bdbb00b351fe254fc42155e876d06b0c994)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-90869
Change-Id: I70abb1baa2b919880bc711ee00d5fdbaef69301d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 1e8cb40d24402c9d0b6290cc251244ba0ec882d4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a QML component wants to mark properties of its "parent" component as
required, it can do so via
required propertyName
The information about those properties is stored in a
RequiredPropertyExtraData data structure. This structure is already
serialized to disk in the QQmlIRWriter. However, we neglected to restore
it so far in the loader.
Fixes: QTBUG-90538
Pick-to: 5.15 6.0
Change-Id: I789daff9bc881e4f35c942c77f5116b5284de81b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Default properties are always local. There is no way to declare a
default property for a foreign type as the default property is queried
directly from the classinfo at runtime.
Change-Id: I30efb6fba190957ac2a4ad86da437f209cd1f3ad
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
No one should mess with those. All the pointers have complicated
ownership semantics. We can just befriend the test instead of making it
all public.
Task-number: QTBUG-90401
Change-Id: I6c4adbab7046b40db7f4628780ef928445ea3eb2
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
If we generate a local anonymous type, then that's the local part of a
QML_FOREIGN local/foreign couple. Any QML.Extended in there belong to
the foreign type.
Change-Id: Ic1706045eff03dd7b1b553240596ffc21818c8bd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In TestCaseCollector::enumerateTestCases, we visit the super compilation
unit of QML tpyes to check if they might be instances of TestCase.
However, in the case of inline components, the super unit is the current
compilation unit, and we would recurse endlessly.
This does not address the issue that an inline component might actually
inherit TestCase. However, as this only affects the enumeration output
and does not actually affect test execution, this is not that much of an
issue. It should also be noted that the enumeration also fails in any
case where TestCases are loaded dynamically (with a loader), so the
method is not 100% accurate even in the absence of inline components.
Fixes: QTBUG-90740
Task-number: QTBUG-90762
Pick-to: 5.15 6.0
Change-Id: I7e133d62c4f62fc46e9bd3999ff755f7ded3c386
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the assumption was that each object could only have a single
extension object. As proven by the new qqmllanguage test this is not the
case. Each registered object in the type hierarchy can have its own
extension. Therefore, adjust the algorithms that generate qmltypes and
iterate the extension objects when analyzing them.
This leads us to the realization that anonymous types can in fact
meaningfully carry extensions and implement interfaces. Adapt
qmltyperegistrar accordingly.
For the test to compile, however, we need to realize that the class
declaring interfaces needs to befriend all potential subclass's
QmlInterface structs. Fix that, too. The rabbit hole went deep.
Change-Id: Ia451897e927e03b95c3062e829edf1dfcd216613
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
It's apt to be more accurate and may even be optimised.
Comment on a benchmark where we could use Math.hypot(), but that would
break comparison with Qt 5 results.
Change-Id: I7c37dd3df82fdef18e7ebb0e1548198afd256faa
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-90786
Change-Id: Id05afbeb18b7c30246a29b95673a1319649f389f
Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
|