[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1051171: bookworm-pu: package qtlocation-opensource-src/5.15.8+dfsg-3+deb12u1



Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: qtlocation-opensource-src@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 <mitya57@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

Attachment: signature.asc
Description: PGP signature


Reply to: