<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/quick, 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>QQuickItemView: register Destroyed listener when storing an item</title>
<updated>2026-06-20T20:26:47+00:00</updated>
<author>
<name>Volker Hilsheimer</name>
<email>volker.hilsheimer@qt.io</email>
</author>
<published>2026-06-16T08:58:04+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=9e499487e92945590107f11b1ae05fc77b50d769'/>
<id>9e499487e92945590107f11b1ae05fc77b50d769</id>
<content type='text'>
Amends fa8bfd6ed5ec4150cd2b05cd17b199097193fb1b, which added the
registration logic to createItem with corresponding removal of
destroyed items from the unrequestedItems hash.

As we add items to that hash also in createdItem and releaseItem (for
items that are scheduled for destruction via deleteLater), make sure we
handle the Destroyed change for those as well, and don't remove
ourselves as a listener prematurely.

However, we need to also explicitly remove the item view as listener
from all items when the view gets destroyed, and remove them from the
unrequestedItems hash when the itemDestroyed handler gets called.

As a drive by, turn the static const constant for change types into a
compile time constant.

Task-number: QTBUG-142738
Task-number: QTBUG-133256
Task-number: QTBUG-46798
Pick-to: 6.8
Change-Id: I216642dde549079d64917791bd7ba3dfe1d1e132
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
(cherry picked from commit b0b1c1de68a1cc15f6304bb85d0c57a49499f866)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 9c3d6b47d962fc58aa9e641dddea8a446eff2a98)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Amends fa8bfd6ed5ec4150cd2b05cd17b199097193fb1b, which added the
registration logic to createItem with corresponding removal of
destroyed items from the unrequestedItems hash.

As we add items to that hash also in createdItem and releaseItem (for
items that are scheduled for destruction via deleteLater), make sure we
handle the Destroyed change for those as well, and don't remove
ourselves as a listener prematurely.

However, we need to also explicitly remove the item view as listener
from all items when the view gets destroyed, and remove them from the
unrequestedItems hash when the itemDestroyed handler gets called.

As a drive by, turn the static const constant for change types into a
compile time constant.

Task-number: QTBUG-142738
Task-number: QTBUG-133256
Task-number: QTBUG-46798
Pick-to: 6.8
Change-Id: I216642dde549079d64917791bd7ba3dfe1d1e132
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
(cherry picked from commit b0b1c1de68a1cc15f6304bb85d0c57a49499f866)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 9c3d6b47d962fc58aa9e641dddea8a446eff2a98)
</pre>
</div>
</content>
</entry>
<entry>
<title>QuadPath: fix error in contains() for horizontal tangents</title>
<updated>2026-06-18T19:00:10+00:00</updated>
<author>
<name>Eirik Aavitsland</name>
<email>eirik.aavitsland@qt.io</email>
</author>
<published>2026-06-12T09:21:01+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=03fb25abc66b1bdc6ac874537731ed2e4d9dfe00'/>
<id>03fb25abc66b1bdc6ac874537731ed2e4d9dfe00</id>
<content type='text'>
The contains() function counts crossings of a horizontal line with
other path elements, increasing or decreasing the winding number
depending on the path direction in the crossing point. However, if the
tangent was horizontal at the crossing, the direction is ambigious,
and the count would sometimes be wrong, leading to wrong function
result, and so to wrong shape filling in curve renderer.
Fix by checking the sign of the second derivative instead when the
tangent (first derivative) is 0.

Fixes: QTBUG-147396
Change-Id: I32a44d2ed8051c469d06eef1ee272ef5a8036be9
Reviewed-by: Eskil Abrahamsen Blomfeldt &lt;eskil.abrahamsen-blomfeldt@qt.io&gt;
(cherry picked from commit 2a1a5a6840b50687452e2087116245472c7422dc)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 2ba53f1453c01888716234837468b9baba996094)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The contains() function counts crossings of a horizontal line with
other path elements, increasing or decreasing the winding number
depending on the path direction in the crossing point. However, if the
tangent was horizontal at the crossing, the direction is ambigious,
and the count would sometimes be wrong, leading to wrong function
result, and so to wrong shape filling in curve renderer.
Fix by checking the sign of the second derivative instead when the
tangent (first derivative) is 0.

Fixes: QTBUG-147396
Change-Id: I32a44d2ed8051c469d06eef1ee272ef5a8036be9
Reviewed-by: Eskil Abrahamsen Blomfeldt &lt;eskil.abrahamsen-blomfeldt@qt.io&gt;
(cherry picked from commit 2a1a5a6840b50687452e2087116245472c7422dc)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 2ba53f1453c01888716234837468b9baba996094)
</pre>
</div>
</content>
</entry>
<entry>
<title>Doc: Tag QML overview topics with 'qmltopic' keyword</title>
<updated>2026-06-15T18:09:53+00:00</updated>
<author>
<name>Topi Reinio</name>
<email>topi.reinio@qt.io</email>
</author>
<published>2026-05-21T08:54:35+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=f49b10385e061f8e4321057182f41ab5d80f8142'/>
<id>f49b10385e061f8e4321057182f41ab5d80f8142</id>
<content type='text'>
This allows filtering for topics in the online documentation TOC-tree
(sidebar) for QML-specific entries.

QDoc does this automatically for QML API documentation (e.g. type
reference pages), this commit adds the tags for overview pages.

Tagged pages include content that have no significant amount of C++
concept documented, but may still link to such pages.

Task-number: QTBUG-142011
Task-number: QTBUG-141035
Change-Id: I6b9f78f325c050744539729675a5a8d624b7ef77
Reviewed-by: Andreas Eliasson &lt;andreas.eliasson@qt.io&gt;
(cherry picked from commit 325d7dd75550f9e38a8334156e096a015be8614a)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit ebbba3be70c6bbf3e6ef23b85d5c8792f60a90ab)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows filtering for topics in the online documentation TOC-tree
(sidebar) for QML-specific entries.

QDoc does this automatically for QML API documentation (e.g. type
reference pages), this commit adds the tags for overview pages.

Tagged pages include content that have no significant amount of C++
concept documented, but may still link to such pages.

Task-number: QTBUG-142011
Task-number: QTBUG-141035
Change-Id: I6b9f78f325c050744539729675a5a8d624b7ef77
Reviewed-by: Andreas Eliasson &lt;andreas.eliasson@qt.io&gt;
(cherry picked from commit 325d7dd75550f9e38a8334156e096a015be8614a)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit ebbba3be70c6bbf3e6ef23b85d5c8792f60a90ab)
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickText: fix StyledText paragraph direction detection with tags</title>
<updated>2026-06-15T12:27:27+00:00</updated>
<author>
<name>Vladimir Belyavsky</name>
<email>belyavskyv@gmail.com</email>
</author>
<published>2026-06-04T16:54:34+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=9c4aefb0718f333c60a5d638ef58cc1e90bcfe31'/>
<id>9c4aefb0718f333c60a5d638ef58cc1e90bcfe31</id>
<content type='text'>
When textFormat is Text.StyledText, the paragraph direction was detected
from the raw markup string via text.isRightToLeft(). HTML tags like
&lt;span&gt; or &lt;b&gt; contain Latin characters that cause the detection to
incorrectly classify RTL content as LTR.

Fix by moving direction detection for non-rich text into updateLayout(),
where the layout text is already available: either from
QQuickStyledText::parse() (stripped of markup) or from the plain text
path. This also avoids emitting effectiveHorizontalAlignmentChanged with
a wrong intermediate value when styled RTL text replaces other RTL text.

Fixes: QTBUG-147277
Change-Id: I0256c1759d242349bcf047b1b0b37e9da35c5fab
Reviewed-by: Eskil Abrahamsen Blomfeldt &lt;eskil.abrahamsen-blomfeldt@qt.io&gt;
(cherry picked from commit b66eb296c2fa10756084c7ca1ee593e298cc2945)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 693239a08f3bda3c58388d5c00f6edd413da1c70)
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When textFormat is Text.StyledText, the paragraph direction was detected
from the raw markup string via text.isRightToLeft(). HTML tags like
&lt;span&gt; or &lt;b&gt; contain Latin characters that cause the detection to
incorrectly classify RTL content as LTR.

Fix by moving direction detection for non-rich text into updateLayout(),
where the layout text is already available: either from
QQuickStyledText::parse() (stripped of markup) or from the plain text
path. This also avoids emitting effectiveHorizontalAlignmentChanged with
a wrong intermediate value when styled RTL text replaces other RTL text.

Fixes: QTBUG-147277
Change-Id: I0256c1759d242349bcf047b1b0b37e9da35c5fab
Reviewed-by: Eskil Abrahamsen Blomfeldt &lt;eskil.abrahamsen-blomfeldt@qt.io&gt;
(cherry picked from commit b66eb296c2fa10756084c7ca1ee593e298cc2945)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 693239a08f3bda3c58388d5c00f6edd413da1c70)
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Doc: Move the svgtoqml tool docs to the Qt Quick documentation</title>
<updated>2026-06-08T13:17:59+00:00</updated>
<author>
<name>Alexei Cazacov</name>
<email>alexei.cazacov@qt.io</email>
</author>
<published>2026-05-29T10:05:21+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=f0be03cfee84fcd2195a6c04afa2d6f278b2c5c3'/>
<id>f0be03cfee84fcd2195a6c04afa2d6f278b2c5c3</id>
<content type='text'>
The svgtoqml tool is semantically closer to Qt Quick rather than QML,
so the docs are moved to the Qt Quick section. The tool code is still
available in the same location in the source tree, so no code changes
are needed.

Task-number: QTBUG-146857
Change-Id: I406f28c87bf2d3b31b3d469d3d4be7e35dfc1ea7
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
(cherry picked from commit 3b852d32ef4571678eca211409e63a4ae0da822b)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 5b9ebff63c4ae038fe7900a932eec17c4f746e09)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The svgtoqml tool is semantically closer to Qt Quick rather than QML,
so the docs are moved to the Qt Quick section. The tool code is still
available in the same location in the source tree, so no code changes
are needed.

Task-number: QTBUG-146857
Change-Id: I406f28c87bf2d3b31b3d469d3d4be7e35dfc1ea7
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
(cherry picked from commit 3b852d32ef4571678eca211409e63a4ae0da822b)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 5b9ebff63c4ae038fe7900a932eec17c4f746e09)
</pre>
</div>
</content>
</entry>
<entry>
<title>grabToImage: improve invalid dimension warning</title>
<updated>2026-06-04T06:38:16+00:00</updated>
<author>
<name>Mitch Curtis</name>
<email>mitch.curtis@qt.io</email>
</author>
<published>2026-05-26T03:02:59+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c21c355bd6f4a5712e8db2da33b68b6b8ad77058'/>
<id>c21c355bd6f4a5712e8db2da33b68b6b8ad77058</id>
<content type='text'>
Explain why it's invalid and print the actual dimensions.

Change-Id: Id585f6aafb3cb49e321f3e239fc726a749608021
Reviewed-by: Oliver Eftevaag &lt;oliver.eftevaag@qt.io&gt;
(cherry picked from commit 6cd1520263553d3951a7271b33ff28fdba7005d9)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 06d553ed96968aaf5ab400e4484c0ced13b0a512)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Explain why it's invalid and print the actual dimensions.

Change-Id: Id585f6aafb3cb49e321f3e239fc726a749608021
Reviewed-by: Oliver Eftevaag &lt;oliver.eftevaag@qt.io&gt;
(cherry picked from commit 6cd1520263553d3951a7271b33ff28fdba7005d9)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 06d553ed96968aaf5ab400e4484c0ced13b0a512)
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickText: iterate over a const QList to avoid detaches</title>
<updated>2026-06-03T13:07:25+00:00</updated>
<author>
<name>Volker Hilsheimer</name>
<email>volker.hilsheimer@qt.io</email>
</author>
<published>2026-06-01T11:08:31+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=bd7e2a5d52a3075a0eadda7aa86064c7e9f12af4'/>
<id>bd7e2a5d52a3075a0eadda7aa86064c7e9f12af4</id>
<content type='text'>
Make sure we iterate over a const QList to avoid detaches.

Amends 3f4088256c7712cbc757dd4d8835a3d4b272b4ee.

Axivion-Id: qt_Essentials_qtquick_dev_linux:SV3127
Pick-to: 6.8
Task-number: QTBUG-146041
Change-Id: I549f5b6f36b18e62619d5ad6e2b3f8305d177cb6
Reviewed-by: Eskil Abrahamsen Blomfeldt &lt;eskil.abrahamsen-blomfeldt@qt.io&gt;
(cherry picked from commit 684e4c22533e1af417fc2b6859b9e96405cfc679)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 210e4fd45ab0ad862b43ab12746e6077339d90a1)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make sure we iterate over a const QList to avoid detaches.

Amends 3f4088256c7712cbc757dd4d8835a3d4b272b4ee.

Axivion-Id: qt_Essentials_qtquick_dev_linux:SV3127
Pick-to: 6.8
Task-number: QTBUG-146041
Change-Id: I549f5b6f36b18e62619d5ad6e2b3f8305d177cb6
Reviewed-by: Eskil Abrahamsen Blomfeldt &lt;eskil.abrahamsen-blomfeldt@qt.io&gt;
(cherry picked from commit 684e4c22533e1af417fc2b6859b9e96405cfc679)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 210e4fd45ab0ad862b43ab12746e6077339d90a1)
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickText: don't assign a QList::iterator to a const_iterator</title>
<updated>2026-06-02T03:33:23+00:00</updated>
<author>
<name>Volker Hilsheimer</name>
<email>volker.hilsheimer@qt.io</email>
</author>
<published>2026-06-01T11:22:01+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=bf70aff89e79b62006f18becccb69f1b2b008220'/>
<id>bf70aff89e79b62006f18becccb69f1b2b008220</id>
<content type='text'>
In the first case we don't have to as we return immediately anyway. The
detach in that loop is the exception (only the error-handling path
modifies the list), so iterating using const iterators avoids the detach
overhead.

In the second case, the list is typically modified (error handling path
does not, but at least one download is likely completed when this
function gets called), so we might just as well use mutating iterators.

Silences static analyser warnings.

Axivion-Id: qt_Essentials_qtquick_dev_linux:SV1452
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV1453
Pick-to: 6.8
Task-number: QTBUG-146041
Change-Id: Ieda0bc79b0292c95b364e13cbb9c6b81bad8ff1a
Reviewed-by: Eskil Abrahamsen Blomfeldt &lt;eskil.abrahamsen-blomfeldt@qt.io&gt;
(cherry picked from commit d2f63aaaa03a7bf271aba7471f4a18f9e20ecbf7)
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>
In the first case we don't have to as we return immediately anyway. The
detach in that loop is the exception (only the error-handling path
modifies the list), so iterating using const iterators avoids the detach
overhead.

In the second case, the list is typically modified (error handling path
does not, but at least one download is likely completed when this
function gets called), so we might just as well use mutating iterators.

Silences static analyser warnings.

Axivion-Id: qt_Essentials_qtquick_dev_linux:SV1452
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV1453
Pick-to: 6.8
Task-number: QTBUG-146041
Change-Id: Ieda0bc79b0292c95b364e13cbb9c6b81bad8ff1a
Reviewed-by: Eskil Abrahamsen Blomfeldt &lt;eskil.abrahamsen-blomfeldt@qt.io&gt;
(cherry picked from commit d2f63aaaa03a7bf271aba7471f4a18f9e20ecbf7)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Guard against nullptr in QQuickAccessibleAttached::labelFor/labelledBy</title>
<updated>2026-05-30T05:47:13+00:00</updated>
<author>
<name>Oliver Eftevaag</name>
<email>oliver.eftevaag@qt.io</email>
</author>
<published>2026-05-19T14:16:35+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=d2090a9ba2fb1e0923b30098af42f511d41dca8e'/>
<id>d2090a9ba2fb1e0923b30098af42f511d41dca8e</id>
<content type='text'>
Otherwise, passing nullptr to the function may crash the application.

Add a test, that verifies that passing nullptr doesn't crash.

Fixes: QTBUG-146127
Pick-to: 6.8
Change-Id: Ib9b3515cb77ccd9f28f3e40da87703b10791795e
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
(cherry picked from commit c951c4d595be5cbaf9ce094f13ff1b232e1947d3)
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>
Otherwise, passing nullptr to the function may crash the application.

Add a test, that verifies that passing nullptr doesn't crash.

Fixes: QTBUG-146127
Pick-to: 6.8
Change-Id: Ib9b3515cb77ccd9f28f3e40da87703b10791795e
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
(cherry picked from commit c951c4d595be5cbaf9ce094f13ff1b232e1947d3)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickTextEdit: update cursorDelegate and repaint on alignment change</title>
<updated>2026-05-29T22:21:11+00:00</updated>
<author>
<name>Vladimir Belyavsky</name>
<email>belyavskyv@gmail.com</email>
</author>
<published>2026-05-19T16:29:56+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=848f0afe3b364aa2a6673f82fe89ec1630d07b67'/>
<id>848f0afe3b364aa2a6673f82fe89ec1630d07b67</id>
<content type='text'>
setHAlign() did not call moveCursorDelegate(), so a custom
cursorDelegate would stay at its old position when horizontal
alignment changed. setVAlign() and resetHAlign() did not call
updateWholeDocument(), so the text content was not visually
repainted when vertical alignment changed.

Add the missing calls following the pattern already used in
geometryChange(). Also add a test that verifies cursorDelegate
position is updated after both horizontal and vertical
alignment changes.

Fixes: QTBUG-140453
Change-Id: I3bccc7590233ffd5552c6873c920d7eeb3afc2d7
Reviewed-by: Oliver Eftevaag &lt;oliver.eftevaag@qt.io&gt;
(cherry picked from commit 3eee54e4910fb483c01493fa00969f5a0b844c0a)
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>
setHAlign() did not call moveCursorDelegate(), so a custom
cursorDelegate would stay at its old position when horizontal
alignment changed. setVAlign() and resetHAlign() did not call
updateWholeDocument(), so the text content was not visually
repainted when vertical alignment changed.

Add the missing calls following the pattern already used in
geometryChange(). Also add a test that verifies cursorDelegate
position is updated after both horizontal and vertical
alignment changes.

Fixes: QTBUG-140453
Change-Id: I3bccc7590233ffd5552c6873c920d7eeb3afc2d7
Reviewed-by: Oliver Eftevaag &lt;oliver.eftevaag@qt.io&gt;
(cherry picked from commit 3eee54e4910fb483c01493fa00969f5a0b844c0a)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
