<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/quick/util/qquickstategroup.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>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>Doc: Replace \instantiates with \nativetype</title>
<updated>2024-08-20T10:48:23+00:00</updated>
<author>
<name>Paul Wicking</name>
<email>paul.wicking@qt.io</email>
</author>
<published>2024-08-20T07:36:38+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=a464ff5bfa15201de64d05121dc192dbd4655890'/>
<id>a464ff5bfa15201de64d05121dc192dbd4655890</id>
<content type='text'>
Since the implementation of the `\nativetype`-command in QDoc,
the `\instantiates`-command is deprecated. Replace the use of the
deprecated command in favor of its replacement.

Pick-to: 6.8
Task-number: QTBUG-128216
Change-Id: I23d9f66d3f6db2e5f827d7868497a432bb9b0626
Reviewed-by: Venugopal Shivashankar &lt;Venugopal.Shivashankar@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since the implementation of the `\nativetype`-command in QDoc,
the `\instantiates`-command is deprecated. Replace the use of the
deprecated command in favor of its replacement.

Pick-to: 6.8
Task-number: QTBUG-128216
Change-Id: I23d9f66d3f6db2e5f827d7868497a432bb9b0626
Reviewed-by: Venugopal Shivashankar &lt;Venugopal.Shivashankar@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QtQuick: Straighten out some logging categories</title>
<updated>2024-06-19T21:09:23+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2024-06-06T11:46:38+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=08bfc40091f03f01e2866c88516e03dbd6342db5'/>
<id>08bfc40091f03f01e2866c88516e03dbd6342db5</id>
<content type='text'>
Either make them static or declare them in a header. We want them to be
static wherever possible, in order to reduce the number of visible
symbols. If they can't be static, however, they should at least be
declared in only one place.

Task-number: QTBUG-67692
Change-Id: I485bb7e4379e86f72619f848399ad58c76586851
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Either make them static or declare them in a header. We want them to be
static wherever possible, in order to reduce the number of visible
symbols. If they can't be static, however, they should at least be
declared in only one place.

Task-number: QTBUG-67692
Change-Id: I485bb7e4379e86f72619f848399ad58c76586851
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickStateGroup: Apply some style</title>
<updated>2024-02-01T08:31:35+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2024-01-29T16:09:12+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=1b8b77285948813b6e74554798b06210736e521c'/>
<id>1b8b77285948813b6e74554798b06210736e521c</id>
<content type='text'>
We don't need to iterate on indices there and we can always
const-iterate. We can also return or continue early in a few places.

Change-Id: I71c4d6698d536c7118d4d1e5c03ecd3c2db7174d
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't need to iterate on indices there and we can always
const-iterate. We can also return or continue early in a few places.

Change-Id: I71c4d6698d536c7118d4d1e5c03ecd3c2db7174d
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QtQuick: Do not crash on broken states</title>
<updated>2024-01-30T16:14:09+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2024-01-29T15:40:58+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=7ce3ce41b8cc657d31ee28de73d2962a149cd776'/>
<id>7ce3ce41b8cc657d31ee28de73d2962a149cd776</id>
<content type='text'>
States can be nullptr these days. Ideally we'd warn about this, but for
picking back to 6.5 it's enough to restore the pre-6.5.3 behavior and
not crash.

Amends commit f905876d6c3abda34dfd85cd40e300a31c1ebe52.

Pick-to: 6.7 6.6 6.5
Fixes: QTBUG-120301
Change-Id: I87021eb2dcbe7fc49f37c5d949d79466ae341a1c
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
States can be nullptr these days. Ideally we'd warn about this, but for
picking back to 6.5 it's enough to restore the pre-6.5.3 behavior and
not crash.

Amends commit f905876d6c3abda34dfd85cd40e300a31c1ebe52.

Pick-to: 6.7 6.6 6.5
Fixes: QTBUG-120301
Change-Id: I87021eb2dcbe7fc49f37c5d949d79466ae341a1c
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Doc: Fix linking to Qt Qml module</title>
<updated>2023-12-01T12:57:28+00:00</updated>
<author>
<name>Topi Reinio</name>
<email>topi.reinio@qt.io</email>
</author>
<published>2023-10-20T14:37:42+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=72c825e685229a2b747f1d79216ef3c6d3304de8'/>
<id>72c825e685229a2b747f1d79216ef3c6d3304de8</id>
<content type='text'>
The module landing page has been renamed in
af0539c7bb6f46e89523054c09d5d846ae55f355.

The correct link target is 'Qt Qml'.

Change-Id: I4a13348948fe1577e7a62edbb49a0d99f9695322
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The module landing page has been renamed in
af0539c7bb6f46e89523054c09d5d846ae55f355.

The correct link target is 'Qt Qml'.

Change-Id: I4a13348948fe1577e7a62edbb49a0d99f9695322
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickStateGroup: Don't needlessly create QQmlProperty</title>
<updated>2023-09-26T18:46:38+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2023-09-22T19:28:21+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=94ca4ad6d55fae3627df7c8e44e58cdf2dc9bb28'/>
<id>94ca4ad6d55fae3627df7c8e44e58cdf2dc9bb28</id>
<content type='text'>
That is more expensive than simply resolving the property index.

Change-Id: I9f821cf14baf38b7ce9d444f20cfa0f4c49df715
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
That is more expensive than simply resolving the property index.

Change-Id: I9f821cf14baf38b7ce9d444f20cfa0f4c49df715
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't crash when using unshift on a states group</title>
<updated>2023-07-04T13:22:31+00:00</updated>
<author>
<name>Volker Hilsheimer</name>
<email>volker.hilsheimer@qt.io</email>
</author>
<published>2023-06-28T11:56:22+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=f905876d6c3abda34dfd85cd40e300a31c1ebe52'/>
<id>f905876d6c3abda34dfd85cd40e300a31c1ebe52</id>
<content type='text'>
Amends 7e4b17943029b502cde63939a47f38ef900a9479, which implements
Array.unshift by first appending nullptrs, then replacing those with
the existing previous items, and then replacing the old positions (now
nullptr) with the items to be prepended.

This assumes that the append implementation of a list property accepts
nullptr items, which QQuickStateGroup's implementation didn't.

Note: QQuickStateGroupPrivate::append_transition also doesn't append
a nullptr, and it is likely that other list property implementations
also make append(nullptr) a no-op.

Fixes: QTBUG-114858
Pick-to: 6.5 6.6
Change-Id: Ib0459c2d12be5deb42563b5298f840d8ba641930
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Amends 7e4b17943029b502cde63939a47f38ef900a9479, which implements
Array.unshift by first appending nullptrs, then replacing those with
the existing previous items, and then replacing the old positions (now
nullptr) with the items to be prepended.

This assumes that the append implementation of a list property accepts
nullptr items, which QQuickStateGroup's implementation didn't.

Note: QQuickStateGroupPrivate::append_transition also doesn't append
a nullptr, and it is likely that other list property implementations
also make append(nullptr) a no-op.

Fixes: QTBUG-114858
Pick-to: 6.5 6.6
Change-Id: Ib0459c2d12be5deb42563b5298f840d8ba641930
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace qobject_cast with static_cast</title>
<updated>2023-06-29T07:14:00+00:00</updated>
<author>
<name>Volker Hilsheimer</name>
<email>volker.hilsheimer@qt.io</email>
</author>
<published>2023-06-28T12:16:06+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=6a074d57ce28a9514a116f71f77e3c4f18ed61e9'/>
<id>6a074d57ce28a9514a116f71f77e3c4f18ed61e9</id>
<content type='text'>
Since we don't check the return value of the qobject_cast anyway, and
since we use static_cast everywhere else, don't waste time with the
qobject_cast in replace_states and removeLast_states either.

Pick-to: 6.6
Change-Id: I6025188e3f7f97f549ff7acc217c6fe905e31b91
Reviewed-by: Santhosh Kumar &lt;santhosh.kumar.selvaraj@qt.io&gt;
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since we don't check the return value of the qobject_cast anyway, and
since we use static_cast everywhere else, don't waste time with the
qobject_cast in replace_states and removeLast_states either.

Pick-to: 6.6
Change-Id: I6025188e3f7f97f549ff7acc217c6fe905e31b91
Reviewed-by: Santhosh Kumar &lt;santhosh.kumar.selvaraj@qt.io&gt;
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickStates: Handle more types as result of when</title>
<updated>2022-12-15T13:03:55+00:00</updated>
<author>
<name>Fabian Kosmale</name>
<email>fabian.kosmale@qt.io</email>
</author>
<published>2022-10-27T09:47:05+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=dfdba3b12bc10a3e1da8cde99a8697969ac165ef'/>
<id>dfdba3b12bc10a3e1da8cde99a8697969ac165ef</id>
<content type='text'>
When calling QQmlBinding::evaluate(), we get a generic QVariant back,
and no conversions from the evaluation result to bool are done at that
point. Consequently, we would need to mirror the engines conversion from
arbitrary values to bool.
Doing that manually is rather fragile, so we instead use the QMetaType
based overload, which already takes care of the conversion. That
requires making the overload public.
As qmlsc is already using that overload from within evaluate, it was not
affected by the  bug.

Fixes: QTBUG-108024
Pick-to: 6.2 6.4 6.5
Change-Id: I3d5ee8f886ea6ada44fc8182300f3472cb1efc3c
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When calling QQmlBinding::evaluate(), we get a generic QVariant back,
and no conversions from the evaluation result to bool are done at that
point. Consequently, we would need to mirror the engines conversion from
arbitrary values to bool.
Doing that manually is rather fragile, so we instead use the QMetaType
based overload, which already takes care of the conversion. That
requires making the overload public.
As qmlsc is already using that overload from within evaluate, it was not
affected by the  bug.

Fixes: QTBUG-108024
Pick-to: 6.2 6.4 6.5
Change-Id: I3d5ee8f886ea6ada44fc8182300f3472cb1efc3c
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
