<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/quick/util/qquickdeliveryagent.cpp, branch 6.5</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>Merge tag 'v6.5.10-lts' into tqtc/lts-6.5-opensource</title>
<updated>2026-08-20T12:41:16+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2026-08-20T12:41:16+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=ae5bbc665633ea99eb26800eb5a8978d2213a2c2'/>
<id>ae5bbc665633ea99eb26800eb5a8978d2213a2c2</id>
<content type='text'>
Qt 6.5.10-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I30aa1cd656455861044ba1c3c8075f52d20dc2e8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Qt 6.5.10-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I30aa1cd656455861044ba1c3c8075f52d20dc2e8
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'v6.5.7-lts' into tqtc/lts-6.5-opensource</title>
<updated>2025-10-09T11:56:44+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2025-10-09T11:56:44+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=844f9b9b376838bcb44324984876f8bf99d85d38'/>
<id>844f9b9b376838bcb44324984876f8bf99d85d38</id>
<content type='text'>
Qt 6.5.7-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I8fbe9c1606825b726adf95e69a4fa86e2196f4e8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Qt 6.5.7-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I8fbe9c1606825b726adf95e69a4fa86e2196f4e8
</pre>
</div>
</content>
</entry>
<entry>
<title>Propagate ignored shortcut key events in quick text edit to parent</title>
<updated>2025-07-13T10:11:08+00:00</updated>
<author>
<name>Santhosh Kumar</name>
<email>santhosh.kumar.selvaraj@qt.io</email>
</author>
<published>2025-06-11T12:02:36+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=05f92b066fed6fa9075dfa49ef8433f591b6e85e'/>
<id>05f92b066fed6fa9075dfa49ef8433f591b6e85e</id>
<content type='text'>
The delivery agent generally accepts key events before sending them to
the quick item; the corresponding item can further accept or ignore
those events.

The reason that the user can't override the shortcut key event in the
quick text edit is that these events are marked as accepted by default
in the delivery agent, and the quick text edit also doesn't explicitly
handle the read-only case, which causes the event state to remain as
accepted.

This patch ignores the shortcut override event by default in the
delivery agent. Also, make the quick text edit to execute the
configured key handler to either accept or ignore before processing
the events. This gives the chance to execute the required shortcut
actions.

Fixes: QTBUG-136959
Change-Id: Ib6400f083f4e21d1b23db87b002acb1cbd4ac82b
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
(cherry picked from commit 1aefea26e5a574dad25646d330a6b3bb943a596c)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit f00ec31e8a0c832ffffafb1ab42152db3b8db66e)
(cherry picked from commit d7ee847bd6260367de35632235a449efedba698e)
(cherry picked from commit 4e33f11c0a5c88f730f720a695dd6bb3f98b9428)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The delivery agent generally accepts key events before sending them to
the quick item; the corresponding item can further accept or ignore
those events.

The reason that the user can't override the shortcut key event in the
quick text edit is that these events are marked as accepted by default
in the delivery agent, and the quick text edit also doesn't explicitly
handle the read-only case, which causes the event state to remain as
accepted.

This patch ignores the shortcut override event by default in the
delivery agent. Also, make the quick text edit to execute the
configured key handler to either accept or ignore before processing
the events. This gives the chance to execute the required shortcut
actions.

Fixes: QTBUG-136959
Change-Id: Ib6400f083f4e21d1b23db87b002acb1cbd4ac82b
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
(cherry picked from commit 1aefea26e5a574dad25646d330a6b3bb943a596c)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit f00ec31e8a0c832ffffafb1ab42152db3b8db66e)
(cherry picked from commit d7ee847bd6260367de35632235a449efedba698e)
(cherry picked from commit 4e33f11c0a5c88f730f720a695dd6bb3f98b9428)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'v6.5.6-lts' into tqtc/lts-6.5-opensource</title>
<updated>2025-04-29T11:02:01+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2025-04-29T11:02:01+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=7170e18bbb886858716854bc4dbee7d5d88810bc'/>
<id>7170e18bbb886858716854bc4dbee7d5d88810bc</id>
<content type='text'>
Qt 6.5.6-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I9ee692350de5ba94eb25021b6246c2b397570e76
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Qt 6.5.6-lts release

Conflicts solved:
	dependencies.yaml

Change-Id: I9ee692350de5ba94eb25021b6246c2b397570e76
</pre>
</div>
</content>
</entry>
<entry>
<title>DeliveryAgent: clear deviceDeliveryTargets before hover delivery</title>
<updated>2025-04-18T11:15:36+00:00</updated>
<author>
<name>Shawn Rutledge</name>
<email>shawn.rutledge@qt.io</email>
</author>
<published>2025-04-16T11:49:36+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=bc1cc72b4fe7577b065e1a44e6a75454db37bc04'/>
<id>bc1cc72b4fe7577b065e1a44e6a75454db37bc04</id>
<content type='text'>
deliverPointerEvent() and deliverSinglePointEventUntilAccepted() already
clear the QQuickPointingDeviceExtra::deliveryTargets list before each
event delivery (since a97759a336c597327cb82eebc9f45c793aec32c9 and
262d7eb305e1dea8dac660bec3ccc50193258ea9). deliverHoverEvent() needs to
do that too: in case there are a lot of hover delivery targets and the
user doesn't move the mouse for a long time, but the scene is
continuously updated, flushFrameSynchronousEvents() keeps sending hover
events, and this list would keep growing if we don't clear it each time.

Fixes: QTBUG-135975
Change-Id: Ia91e3c977b45fc964228d3aad89938435f437449
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit f43f6e49333aea97856c426a1ecf12afe80c1184)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 9fbc709a9381efed45ca8316847f716deee0bd95)
(cherry picked from commit b25be970eed9bff96c74c0ab8d78788c72d87035)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
deliverPointerEvent() and deliverSinglePointEventUntilAccepted() already
clear the QQuickPointingDeviceExtra::deliveryTargets list before each
event delivery (since a97759a336c597327cb82eebc9f45c793aec32c9 and
262d7eb305e1dea8dac660bec3ccc50193258ea9). deliverHoverEvent() needs to
do that too: in case there are a lot of hover delivery targets and the
user doesn't move the mouse for a long time, but the scene is
continuously updated, flushFrameSynchronousEvents() keeps sending hover
events, and this list would keep growing if we don't clear it each time.

Fixes: QTBUG-135975
Change-Id: Ia91e3c977b45fc964228d3aad89938435f437449
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit f43f6e49333aea97856c426a1ecf12afe80c1184)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 9fbc709a9381efed45ca8316847f716deee0bd95)
(cherry picked from commit b25be970eed9bff96c74c0ab8d78788c72d87035)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'v6.5.5-lts' into tqtc/lts-6.5-opensource</title>
<updated>2025-01-29T14:12:28+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2025-01-29T14:12:28+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=7ac842cba18be081ac835bf40ac475ec4c47d30b'/>
<id>7ac842cba18be081ac835bf40ac475ec4c47d30b</id>
<content type='text'>
Qt 6.5.5-lts release

Conflicts solved:
	dependencies.yaml
	src/quick/doc/snippets/qml/treeview/qml-customdelegate.qml

Change-Id: Ifa297315fa0e6e70d9f26312f9183da4769d18fc
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Qt 6.5.5-lts release

Conflicts solved:
	dependencies.yaml
	src/quick/doc/snippets/qml/treeview/qml-customdelegate.qml

Change-Id: Ifa297315fa0e6e70d9f26312f9183da4769d18fc
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Update commercial SPDX-License-Identifier"</title>
<updated>2025-01-03T17:25:16+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2025-01-03T05:44:42+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=eee1fcc18b8460f5aa581cc4e41db3ed8ec78fbb'/>
<id>eee1fcc18b8460f5aa581cc4e41db3ed8ec78fbb</id>
<content type='text'>
This reverts commit da5933f22c00270ac9083a089686e5c54e0057da.

Revert of commercial SPDX license identifiers is required for the
Qt 6.5.x opensource releases, Qt 6.5.4 onwards.

Change-Id: Ic056fb761f242af0ec4c883ecb35d50804c1c67c
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit da5933f22c00270ac9083a089686e5c54e0057da.

Revert of commercial SPDX license identifiers is required for the
Qt 6.5.x opensource releases, Qt 6.5.4 onwards.

Change-Id: Ic056fb761f242af0ec4c883ecb35d50804c1c67c
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QQDeliveryAgent: check every touchpoint for double-tap violations</title>
<updated>2024-07-05T19:05:34+00:00</updated>
<author>
<name>Shawn Rutledge</name>
<email>shawn.rutledge@qt.io</email>
</author>
<published>2024-06-28T04:19:12+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=ac77c58da00d6dcd92803cca9fd9d2bf1887cdc2'/>
<id>ac77c58da00d6dcd92803cca9fd9d2bf1887cdc2</id>
<content type='text'>
In a quick sequence in which one item is tapped, another is tapped, and
the first is tapped again: if the first item requires synth-mouse events
but the second item accepts touch events, do not give the first item a
MouseButtonDblClick event. The intervening touch event in a completely
different place should be considered to interrupt the synthetic
double-click. In fact we don't even care if it's two different items:
if the distance exceeds touchDoubleTapDistance or the time delta exceeds
mouseDoubleClickInterval, it's not a double-tap.

Refactor the constraint-checking functions, since we're now checking
constraints in multiple places. And fix an old mistake in
tst_touchmouse while we're at it.

QQDAPrivate::isWithinDoubleClickInterval() is meant to be a reusable
utility function; use it in QQuickAbstractButtonPrivate::handleRelease()
just to prove that it's possible. There are other places where we're
checking qApp-&gt;styleHints()-&gt;mouseDoubleClickInterval() which can
potentially be replaced later.

The internal doc comment on QQDAPriv::eventInDelivery() is from
caecdde22c79b613f82eed81dc7b010caea9f71c

Fixes: QTBUG-116442
Change-Id: I2599cfca1ac5ff61ba6124df86d7a9bfe6a836ee
Reviewed-by: Richard Moe Gustavsen &lt;richard.gustavsen@qt.io&gt;
(cherry picked from commit 8a934630f92ef160acd788855e1689e3912c5a65)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 06a7f736295bf009452cae8016ebe28e57ea9bc9)
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
(cherry picked from commit 75ca1c9a501acd022c6366bcab46490f25f744f5)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In a quick sequence in which one item is tapped, another is tapped, and
the first is tapped again: if the first item requires synth-mouse events
but the second item accepts touch events, do not give the first item a
MouseButtonDblClick event. The intervening touch event in a completely
different place should be considered to interrupt the synthetic
double-click. In fact we don't even care if it's two different items:
if the distance exceeds touchDoubleTapDistance or the time delta exceeds
mouseDoubleClickInterval, it's not a double-tap.

Refactor the constraint-checking functions, since we're now checking
constraints in multiple places. And fix an old mistake in
tst_touchmouse while we're at it.

QQDAPrivate::isWithinDoubleClickInterval() is meant to be a reusable
utility function; use it in QQuickAbstractButtonPrivate::handleRelease()
just to prove that it's possible. There are other places where we're
checking qApp-&gt;styleHints()-&gt;mouseDoubleClickInterval() which can
potentially be replaced later.

The internal doc comment on QQDAPriv::eventInDelivery() is from
caecdde22c79b613f82eed81dc7b010caea9f71c

Fixes: QTBUG-116442
Change-Id: I2599cfca1ac5ff61ba6124df86d7a9bfe6a836ee
Reviewed-by: Richard Moe Gustavsen &lt;richard.gustavsen@qt.io&gt;
(cherry picked from commit 8a934630f92ef160acd788855e1689e3912c5a65)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 06a7f736295bf009452cae8016ebe28e57ea9bc9)
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
(cherry picked from commit 75ca1c9a501acd022c6366bcab46490f25f744f5)
</pre>
</div>
</content>
</entry>
<entry>
<title>Prevent infinite loop when setting activeFocusItem of the scene's root</title>
<updated>2024-03-19T15:21:56+00:00</updated>
<author>
<name>Doris Verria</name>
<email>doris.verria@qt.io</email>
</author>
<published>2024-03-05T08:23:35+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=b27a5073ff50f1bc39c121d8012b08cc2bf24d6a'/>
<id>b27a5073ff50f1bc39c121d8012b08cc2bf24d6a</id>
<content type='text'>
When we forceActiveFocus on a QQuickItem we set focus to all ancestor
focus scopes, in their parent scope. That involves setting 'item'
as the subFocusItem of its immediate focus ancestor.
In Qt Quick 3D, where we have different subscenes, we follow the
same approach as mentioned above, but at the same time, we would set the
item that is getting focus as the activeFocusItem of the scene’s root
item and by so doing, we would set the subFocusItem of all focus
ancestors of that item to 'item'. This is not entirely correct since
each focus ancestor's subFocusItem must be its nearest descendant with
focus. But we would then proceed to go up the focus hierarchy of the
item and this time try to set its ancestor as the activeFocusItem of the
scene’s root, "undoing" what we had done in the previous step. This
would cause a lot of unnecessary clearing and setting of the
subFocusItem as well as focusIn/out events, and sometimes even infinite
loops like in the case of compound controls, like the spinbox, which
gives active focus to its textField content once it gains focus.
To fix, don't change the subFocusItem of the scene's root item unless
we have traversed up all the focus hierarchy.

Fixes: QTBUG-120542
Change-Id: Icf08edd2ff8b64662011f66c7137b44750cda9f2
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
(cherry picked from commit 1863c068191601beba0bcdc970185703c8296e3d)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 2f9ef932b4ddcaa32c51a60ce33dd4b6f27724c6)
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
(cherry picked from commit e529f8220dc0d50447a71fd788c50432e3793c9d)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When we forceActiveFocus on a QQuickItem we set focus to all ancestor
focus scopes, in their parent scope. That involves setting 'item'
as the subFocusItem of its immediate focus ancestor.
In Qt Quick 3D, where we have different subscenes, we follow the
same approach as mentioned above, but at the same time, we would set the
item that is getting focus as the activeFocusItem of the scene’s root
item and by so doing, we would set the subFocusItem of all focus
ancestors of that item to 'item'. This is not entirely correct since
each focus ancestor's subFocusItem must be its nearest descendant with
focus. But we would then proceed to go up the focus hierarchy of the
item and this time try to set its ancestor as the activeFocusItem of the
scene’s root, "undoing" what we had done in the previous step. This
would cause a lot of unnecessary clearing and setting of the
subFocusItem as well as focusIn/out events, and sometimes even infinite
loops like in the case of compound controls, like the spinbox, which
gives active focus to its textField content once it gains focus.
To fix, don't change the subFocusItem of the scene's root item unless
we have traversed up all the focus hierarchy.

Fixes: QTBUG-120542
Change-Id: Icf08edd2ff8b64662011f66c7137b44750cda9f2
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
(cherry picked from commit 1863c068191601beba0bcdc970185703c8296e3d)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 2f9ef932b4ddcaa32c51a60ce33dd4b6f27724c6)
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
(cherry picked from commit e529f8220dc0d50447a71fd788c50432e3793c9d)
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickDeliveryAgentPrivate::deliverHoverEventRecursive - remove "return"</title>
<updated>2024-03-07T20:20:34+00:00</updated>
<author>
<name>Axel Spoerl</name>
<email>axel.spoerl@qt.io</email>
</author>
<published>2023-12-06T19:34:55+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=7b0aea480447b9461ffad287d64cbe63b0702e76'/>
<id>7b0aea480447b9461ffad287d64cbe63b0702e76</id>
<content type='text'>
The return statement at the end of the method is never reached, due to
an earlier, unconditional return just above.

Remove it.

Task-number: QTBUG-115438
Change-Id: I2750e01de6a34b6cedaf28ab01066e12eb0ac834
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
(cherry picked from commit a997b376c79fb955c4c2344eae7da5fec4853958)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 020ac3d97611c8975147d537db4c52a62fd362b6)
(cherry picked from commit 11d2c8228322e8b8af8efc8bbc100e7ef82774cf)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The return statement at the end of the method is never reached, due to
an earlier, unconditional return just above.

Remove it.

Task-number: QTBUG-115438
Change-Id: I2750e01de6a34b6cedaf28ab01066e12eb0ac834
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
Reviewed-by: Shawn Rutledge &lt;shawn.rutledge@qt.io&gt;
(cherry picked from commit a997b376c79fb955c4c2344eae7da5fec4853958)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
(cherry picked from commit 020ac3d97611c8975147d537db4c52a62fd362b6)
(cherry picked from commit 11d2c8228322e8b8af8efc8bbc100e7ef82774cf)
</pre>
</div>
</content>
</entry>
</feed>
