<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/quick/util/qquickanimatorjob.cpp, branch 6.11</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>QtQuick: QQuickAnimatorProxyJob: Fix pause handling</title>
<updated>2026-02-11T13:14:18+00:00</updated>
<author>
<name>Morteza Jamshidi</name>
<email>morteza.jamshidi@qt.io</email>
</author>
<published>2026-02-03T13:01:56+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=67fde591ecd6ad384b2e8e982da8b38e468cde90'/>
<id>67fde591ecd6ad384b2e8e982da8b38e468cde90</id>
<content type='text'>
Pausing was not handled in QQuickAnimatorController and
QQuickAnimatorProxyJob.
However, the code assumed that calling pause() would stop the animation,
causing an assertion failure when checking the isRunning property.
Pause handling is now implemented correctly, and isRunning properly
returns false when an animation is paused.

Fixes: QTBUG-132163
Pick-to: 6.10 6.8
Change-Id: Id0aca402926841f25f9597f43f3a68376fb3ccab
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
(cherry picked from commit d29fbc3d579cb153acfc6dc9fd079083870da3d3)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pausing was not handled in QQuickAnimatorController and
QQuickAnimatorProxyJob.
However, the code assumed that calling pause() would stop the animation,
causing an assertion failure when checking the isRunning property.
Pause handling is now implemented correctly, and isRunning properly
returns false when an animation is paused.

Fixes: QTBUG-132163
Pick-to: 6.10 6.8
Change-Id: Id0aca402926841f25f9597f43f3a68376fb3ccab
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
(cherry picked from commit d29fbc3d579cb153acfc6dc9fd079083870da3d3)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Set explicit default security level of all files with default security</title>
<updated>2025-09-17T13:31:14+00:00</updated>
<author>
<name>Jan Arve Sæther</name>
<email>jan-arve.saether@qt.io</email>
</author>
<published>2025-09-16T13:35:55+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=01cd43d30e3ca2c4dd94a4a4711604adb9417517'/>
<id>01cd43d30e3ca2c4dd94a4a4711604adb9417517</id>
<content type='text'>
The files (folders) already processed are listed in each issue in epic
QTBUG-134547

These files were processed half a year ago. In order to make it clear
that all of these files are already processed, mark them with an
explicit default security header.

For the record, this was generated with this script:

find -E . -regex ".*\.(cpp|h|hpp|mm|qml|js)$" | xargs python3 ~/bin/add-cra-header.py

in the folders listed in each subtask of QTBUG-134547

(add-cra-header.py only exist at my desktop, but it simply adds the
default security header if it doesn't already have any existing security
header)

QUIP: 23
Fixes: QTBUG-134547
Pick-to: 6.10 6.9 6.8
Change-Id: Ieb8c78ea6561fdbdd27c7b13185ece853eedf80f
Reviewed-by: Oliver Eftevaag &lt;oliver.eftevaag@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The files (folders) already processed are listed in each issue in epic
QTBUG-134547

These files were processed half a year ago. In order to make it clear
that all of these files are already processed, mark them with an
explicit default security header.

For the record, this was generated with this script:

find -E . -regex ".*\.(cpp|h|hpp|mm|qml|js)$" | xargs python3 ~/bin/add-cra-header.py

in the folders listed in each subtask of QTBUG-134547

(add-cra-header.py only exist at my desktop, but it simply adds the
default security header if it doesn't already have any existing security
header)

QUIP: 23
Fixes: QTBUG-134547
Pick-to: 6.10 6.9 6.8
Change-Id: Ieb8c78ea6561fdbdd27c7b13185ece853eedf80f
Reviewed-by: Oliver Eftevaag &lt;oliver.eftevaag@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Make sure updateCurrentTime() is done on with a valid ShaderEffect</title>
<updated>2023-12-16T01:39:58+00:00</updated>
<author>
<name>Christian Strømme</name>
<email>christian.stromme@qt.io</email>
</author>
<published>2023-12-13T13:36:59+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=60e49dfbe3cf8276aabfcf7bf00dc532dea78baf'/>
<id>60e49dfbe3cf8276aabfcf7bf00dc532dea78baf</id>
<content type='text'>
The target might change several times, or worse have been destroyed,
while updates are still queued, and since the effect pointer isn't
updated until the postSync() call, the effect pointer can get out of
sync leaving it pointing to the wrong object, or a destroyed one.
To avoid operating on an destroyed or old handle, check if the current
effect is valid and matches the target before applying the uniform
values in updateCurrentTime().

Pick-to: 6.7 6.6 6.5 6.2
Fixes: QTBUG-119363
Change-Id: I5172ccf9405c1d789f197a0cf8cec4c749bd7d28
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The target might change several times, or worse have been destroyed,
while updates are still queued, and since the effect pointer isn't
updated until the postSync() call, the effect pointer can get out of
sync leaving it pointing to the wrong object, or a destroyed one.
To avoid operating on an destroyed or old handle, check if the current
effect is valid and matches the target before applying the uniform
values in updateCurrentTime().

Pick-to: 6.7 6.6 6.5 6.2
Fixes: QTBUG-119363
Change-Id: I5172ccf9405c1d789f197a0cf8cec4c749bd7d28
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix build with -no-feature-quick-shadereffect</title>
<updated>2023-01-24T08:21:08+00:00</updated>
<author>
<name>Tasuku Suzuki</name>
<email>tasuku.suzuki@signal-slot.co.jp</email>
</author>
<published>2023-01-23T15:49:50+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=7827d7b27f142c2035ab8aa69d3ed0907d74f238'/>
<id>7827d7b27f142c2035ab8aa69d3ed0907d74f238</id>
<content type='text'>
Changes the feature from PRIVATE to PUBLIC to disable the private layer
property in qquickitem.h.
Disables UniformAnimator and Item::layer.
Fixes missing headers seen by disabling the feature.

Pick-to: 6.5
Change-Id: I9025568c5d98cb708ed2fcfb323ac33c06c2ccaf
Reviewed-by: Kaj Grönholm &lt;kaj.gronholm@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changes the feature from PRIVATE to PUBLIC to disable the private layer
property in qquickitem.h.
Disables UniformAnimator and Item::layer.
Fixes missing headers seen by disabling the feature.

Pick-to: 6.5
Change-Id: I9025568c5d98cb708ed2fcfb323ac33c06c2ccaf
Reviewed-by: Kaj Grönholm &lt;kaj.gronholm@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix Animators in case of node recreate</title>
<updated>2023-01-12T09:49:10+00:00</updated>
<author>
<name>Thomas Senyk</name>
<email>thomas.senyk@qt.io</email>
</author>
<published>2022-12-14T15:39:11+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=0359381bc78fb69999d3c687d617858f9666c0aa'/>
<id>0359381bc78fb69999d3c687d617858f9666c0aa</id>
<content type='text'>
Those node recreations happen when the RHI backend is recreated.
One such case is GLX_NV_robustness_video_memory_purge

In such cases QQuickTransformAnimatorJob::invalidate()
will be called, however the node will never be re-set

Pick-to: 6.5 6.4 6.2
Change-Id: I3136c220f41781689f4a271caf0543a3b659447c
Reviewed-by: Eskil Abrahamsen Blomfeldt &lt;eskil.abrahamsen-blomfeldt@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Those node recreations happen when the RHI backend is recreated.
One such case is GLX_NV_robustness_video_memory_purge

In such cases QQuickTransformAnimatorJob::invalidate()
will be called, however the node will never be re-set

Pick-to: 6.5 6.4 6.2
Change-Id: I3136c220f41781689f4a271caf0543a3b659447c
Reviewed-by: Eskil Abrahamsen Blomfeldt &lt;eskil.abrahamsen-blomfeldt@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use SPDX license identifiers</title>
<updated>2022-06-11T06:05:15+00:00</updated>
<author>
<name>Lucie Gérard</name>
<email>lucie.gerard@qt.io</email>
</author>
<published>2022-05-13T13:12:05+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=0dc4fd240a2897c5c443a0ef6d84c416843e4938'/>
<id>0dc4fd240a2897c5c443a0ef6d84c416843e4938</id>
<content type='text'>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Files that have to be modified by hand are modified.
License files are organized under LICENSES directory.

Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Files that have to be modified by hand are modified.
License files are organized under LICENSES directory.

Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bound animatorjob value to the given range</title>
<updated>2021-12-14T08:03:04+00:00</updated>
<author>
<name>Antti Määttä</name>
<email>antti.maatta@qt.io</email>
</author>
<published>2021-12-02T07:26:18+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=e0850c918cbe32dc1aca7398becdd9b1bce4ce27'/>
<id>e0850c918cbe32dc1aca7398becdd9b1bce4ce27</id>
<content type='text'>
The value() might get called before updateCurrentTime has been called
for the animator so the m_value has not been initialized.
Bound the value to the given range in the function to ensure it
doesn't return invalid values.

Fixes: QTBUG-75799
Pick-to: 6.3 6.2 5.15
Change-Id: I8d60430ed95082b975f49cf7c778e196f2fd5384
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The value() might get called before updateCurrentTime has been called
for the animator so the m_value has not been initialized.
Bound the value to the given range in the function to ensure it
doesn't return invalid values.

Fixes: QTBUG-75799
Pick-to: 6.3 6.2 5.15
Change-Id: I8d60430ed95082b975f49cf7c778e196f2fd5384
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use a QDoubleEndedList for the children of animation group jobs</title>
<updated>2021-02-05T14:20:02+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2021-02-03T13:24:14+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=4938984f9a779192264757a06e6ca555fc8f5e91'/>
<id>4938984f9a779192264757a06e6ca555fc8f5e91</id>
<content type='text'>
This way it's fundamentally impossible to add the same animation job to
two different group jobs. The pointers are not exposed anymore and no
one can re-order the jobs.

Task-number: QTBUG-90401
Change-Id: Iebff4b64960c853915dd32714acd144fc5cdc00d
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This way it's fundamentally impossible to add the same animation job to
two different group jobs. The pointers are not exposed anymore and no
one can re-order the jobs.

Task-number: QTBUG-90401
Change-Id: Iebff4b64960c853915dd32714acd144fc5cdc00d
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Drop QQuickAnimatorProxyJob::m_animation</title>
<updated>2021-02-03T10:14:57+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2021-02-02T12:25:59+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=ad394a106b78f4acedcce62f3cc335a3a5e3e880'/>
<id>ad394a106b78f4acedcce62f3cc335a3a5e3e880</id>
<content type='text'>
Keeping it around is dangerous and we only need it in the ctor.

Task-number: QTBUG-90401
Change-Id: I128be1a5cef394bbf4be1a7b0e6a4595f9b25968
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Keeping it around is dangerous and we only need it in the ctor.

Task-number: QTBUG-90401
Change-Id: I128be1a5cef394bbf4be1a7b0e6a4595f9b25968
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix alwaysRunToEnd==true prevented complex Anim from stopping</title>
<updated>2020-10-13T09:57:03+00:00</updated>
<author>
<name>Piotr Mikolajczyk</name>
<email>piotr.mikolajczyk@qt.io</email>
</author>
<published>2020-10-06T08:27:20+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=d66d0540dc323e6a536b952acedcfda70cd90c0c'/>
<id>d66d0540dc323e6a536b952acedcfda70cd90c0c</id>
<content type='text'>
AnimatorProxyJob would not forward loopCount to the controlled job causing
the sequential or parallel animation to go infinitely after attempt to stop

Task-number: QTBUG-82890
Pick-to: 5.15
Change-Id: I6a1ca787f06789064e05407bbe9ae5e5861f24d5
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
AnimatorProxyJob would not forward loopCount to the controlled job causing
the sequential or parallel animation to go infinitely after attempt to stop

Task-number: QTBUG-82890
Pick-to: 5.15
Change-Id: I6a1ca787f06789064e05407bbe9ae5e5861f24d5
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
