Package: release.debian.org Severity: normal Tags: bookworm User: release.debian....@packages.debian.org Usertags: pu X-Debbugs-Cc: qtlocation-opensource-...@packages.debian.org Control: affects -1 + src:qtlocation-opensource-src
[ Reason ] This fixes bug which made applications using Qt Location freeze when trying to load the map tiles. [ Impact ] Some applications will be broken. I don't have a list of such applications, but it can be reproduced with examples shipped in qtlocation5-examples. [ Tests ] It can be reproduced with minimal_map example from qtlocation5-examples (e.g. /usr/lib/x86_64-linux-gnu/qt5/examples/location/minimal_map/minimal_map on amd64). Without the fix only one tile loads and the application does not respond to any events (e.g. dragging or scrolling). With the fix everything works as expected. [ Risks ] The change is trivial (patch adding one character). It is applied both by Qt upstream [1] and by KDE's Qt patch collection [2]. [1]: https://code.qt.io/cgit/qt/qtlocation.git/commit/?id=6cb20a08b65c73b4 [2]: https://invent.kde.org/qt/qt/qtlocation/-/commit/1c6a9479c9f5bf61 [ Checklist ] [x] *all* changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in (old)stable [x] the issue is verified as fixed in unstable [ Changes ] * Backport upstream patch to fix condition for appendChildNode() call (closes: #1050240). [ Other info ] In unstable/testing, this bug was fixed in version 5.15.10+dfsg-3. The debdiff against stable is attached. -- Dmitry Shachnev
--- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +qtlocation-opensource-src (5.15.8+dfsg-3+deb12u1) bookworm; urgency=medium + + * Backport upstream patch to fix condition for appendChildNode() call + (closes: #1050240). + + -- Dmitry Shachnev <mity...@debian.org> Sun, 03 Sep 2023 21:57:28 +0300 + qtlocation-opensource-src (5.15.8+dfsg-3) unstable; urgency=medium * Let the system build the serial plugin by adding libqt5serialport5-dev as --- /dev/null +++ b/debian/patches/fix_appendChildNode_call.diff @@ -0,0 +1,22 @@ +Description: fix appendChildNode() call + The QSGNode::appendChildNode() method checks that its parameter must + not have a parent. Before this patch we always called appendChildNode() + on a node that already had parent, which was always leading to ASSERT + in a debug build. + . + Seems that the right approach would be to call this method, if the + node *does not* have a parent. +Origin: upstream, https://code.qt.io/cgit/qt/qtlocation.git/commit/?id=6cb20a08b65c73b4 +Last-Update: 2023-08-18 + +--- a/src/location/labs/qsg/qgeomapobjectqsgsupport.cpp ++++ b/src/location/labs/qsg/qgeomapobjectqsgsupport.cpp +@@ -158,7 +158,7 @@ void QGeoMapObjectQSGSupport::updateMapO + if (!root) + return; + +- if (m_mapObjectsRootNode && m_mapObjectsRootNode->parent()) ++ if (m_mapObjectsRootNode && !m_mapObjectsRootNode->parent()) + root->appendChildNode(m_mapObjectsRootNode.get()); + + if (!m_mapObjectsRootNode) { --- a/debian/patches/series +++ b/debian/patches/series @@ -2,3 +2,4 @@ use_system_dependencies.diff hurd_geoclue.diff mapboxgl_thread_portability.diff opengl.diff +fix_appendChildNode_call.diff
signature.asc
Description: PGP signature