Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qt6-location for openSUSE:Factory 
checked in at 2025-11-25 15:47:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-location (Old)
 and      /work/SRC/openSUSE:Factory/.qt6-location.new.14147 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qt6-location"

Tue Nov 25 15:47:49 2025 rev:23 rq:1319487 version:6.10.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-location/qt6-location.changes        
2025-10-13 17:26:24.960986541 +0200
+++ /work/SRC/openSUSE:Factory/.qt6-location.new.14147/qt6-location.changes     
2025-11-25 15:48:47.764226562 +0100
@@ -1,0 +2,6 @@
+Thu Nov 20 15:14:37 UTC 2025 - Christophe Marin <[email protected]>
+
+- Update to 6.10.1
+  https://www.qt.io/blog/qt-6.10.1-released
+
+-------------------------------------------------------------------

Old:
----
  qtlocation-everywhere-src-6.10.0.tar.xz

New:
----
  qtlocation-everywhere-src-6.10.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qt6-location.spec ++++++
--- /var/tmp/diff_new_pack.t6xVwJ/_old  2025-11-25 15:48:50.464340189 +0100
+++ /var/tmp/diff_new_pack.t6xVwJ/_new  2025-11-25 15:48:50.464340189 +0100
@@ -16,7 +16,7 @@
 #
 
 
-%define real_version 6.10.0
+%define real_version 6.10.1
 %define short_version 6.10
 %define tar_name qtlocation-everywhere-src
 %define tar_suffix %{nil}
@@ -30,7 +30,7 @@
 %global __requires_exclude qt6qmlimport\\(MapViewer\\)
 #
 Name:           qt6-location%{?pkg_suffix}
-Version:        6.10.0
+Version:        6.10.1
 Release:        0
 Summary:        Qt 6 Location plugins and libraries
 License:        GPL-3.0-or-later

++++++ qtlocation-everywhere-src-6.10.0.tar.xz -> 
qtlocation-everywhere-src-6.10.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtlocation-everywhere-src-6.10.0/.cmake.conf 
new/qtlocation-everywhere-src-6.10.1/.cmake.conf
--- old/qtlocation-everywhere-src-6.10.0/.cmake.conf    2025-10-02 
01:38:27.000000000 +0200
+++ new/qtlocation-everywhere-src-6.10.1/.cmake.conf    2025-11-13 
22:19:38.000000000 +0100
@@ -1,4 +1,4 @@
-set(QT_REPO_MODULE_VERSION "6.10.0")
+set(QT_REPO_MODULE_VERSION "6.10.1")
 set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
 
 list(APPEND QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtlocation-everywhere-src-6.10.0/.tag 
new/qtlocation-everywhere-src-6.10.1/.tag
--- old/qtlocation-everywhere-src-6.10.0/.tag   2025-10-02 01:38:27.000000000 
+0200
+++ new/qtlocation-everywhere-src-6.10.1/.tag   2025-11-13 22:19:38.000000000 
+0100
@@ -1 +1 @@
-06051e45b8e7512563fa609df61861fe3de15058
+f9b4e48a1b8ba398b2a0393ec645662bacbb403b
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtlocation-everywhere-src-6.10.0/dependencies.yaml 
new/qtlocation-everywhere-src-6.10.1/dependencies.yaml
--- old/qtlocation-everywhere-src-6.10.0/dependencies.yaml      2025-10-02 
01:38:27.000000000 +0200
+++ new/qtlocation-everywhere-src-6.10.1/dependencies.yaml      2025-11-13 
22:19:38.000000000 +0100
@@ -1,10 +1,10 @@
 dependencies:
   ../qtbase:
-    ref: 5a8637e4516bc48a0b3f4b5ec3b18618b92e7222
+    ref: 90b845d15ffb97693dba527385db83510ebd121a
     required: true
   ../qtdeclarative:
-    ref: 7e0ab1d98c159c9f4c9afab78b43e7c70f449e41
+    ref: 22fb5e739a2ea700448b22d34ade0d5c1927cb48
     required: true
   ../qtpositioning:
-    ref: cded370ab2518be232ae412e3bb8bc7ff8423be2
+    ref: 11d336c178adf4b8d8f7f8589bb9641bcf4b8eda
     required: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/examples/location/mapviewer/main.cpp 
new/qtlocation-everywhere-src-6.10.1/examples/location/mapviewer/main.cpp
--- old/qtlocation-everywhere-src-6.10.0/examples/location/mapviewer/main.cpp   
2025-10-02 01:38:27.000000000 +0200
+++ new/qtlocation-everywhere-src-6.10.1/examples/location/mapviewer/main.cpp   
2025-11-13 22:19:38.000000000 +0100
@@ -53,6 +53,7 @@
 
     QGuiApplication application(argc, argv);
     QCoreApplication::setApplicationName(u"QtLocation Mapviewer example"_s);
+    QGuiApplication::setDesktopFileName(QCoreApplication::applicationName());
 
     QStringList args = QCoreApplication::arguments();
     args.removeFirst();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/examples/location/places/doc/src/places.qdoc
 
new/qtlocation-everywhere-src-6.10.1/examples/location/places/doc/src/places.qdoc
--- 
old/qtlocation-everywhere-src-6.10.0/examples/location/places/doc/src/places.qdoc
   2025-10-02 01:38:27.000000000 +0200
+++ 
new/qtlocation-everywhere-src-6.10.1/examples/location/places/doc/src/places.qdoc
   2025-11-13 22:19:38.000000000 +0100
@@ -107,7 +107,7 @@
 
     First some of the model's properties are set, which will be used to form 
the search request.
     The \l {PlaceSearchModel::searchArea}{searchArea} property is set to the
-    \e searchRegion object which is a \l [QML]{geocircle} with a center that 
is linked to the current
+    \e searchRegion object which is a \l [QML]{geoCircle} with a center that 
is linked to the current
     location displayed on the \l Map.
 
     Finally, we define three helper functions \b searchForCategory(), \b 
{searchForText()} and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/src/location/declarativemaps/qdeclarativegeocodemodel.cpp
 
new/qtlocation-everywhere-src-6.10.1/src/location/declarativemaps/qdeclarativegeocodemodel.cpp
--- 
old/qtlocation-everywhere-src-6.10.0/src/location/declarativemaps/qdeclarativegeocodemodel.cpp
      2025-10-02 01:38:27.000000000 +0200
+++ 
new/qtlocation-everywhere-src-6.10.1/src/location/declarativemaps/qdeclarativegeocodemodel.cpp
      2025-11-13 22:19:38.000000000 +0100
@@ -328,14 +328,14 @@
 }
 
 /*!
-    \qmlproperty geoshape QtLocation::GeocodeModel::bounds
+    \qmlproperty geoShape QtLocation::GeocodeModel::bounds
 
     This property holds the bounding area used to limit the results to those
     within the area. This is particularly useful if query is only partially 
filled out,
     as the service will attempt to (reverse) geocode all matches for the 
specified data.
 
-    Accepted types are \l {georectangle} and
-    \l {geocircle}.
+    Accepted types are \l {geoRectangle} and
+    \l {geoCircle}.
 */
 QVariant QDeclarativeGeocodeModel::bounds() const
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/src/location/declarativemaps/qdeclarativegeoroutemodel.cpp
 
new/qtlocation-everywhere-src-6.10.1/src/location/declarativemaps/qdeclarativegeoroutemodel.cpp
--- 
old/qtlocation-everywhere-src-6.10.0/src/location/declarativemaps/qdeclarativegeoroutemodel.cpp
     2025-10-02 01:38:27.000000000 +0200
+++ 
new/qtlocation-everywhere-src-6.10.1/src/location/declarativemaps/qdeclarativegeoroutemodel.cpp
     2025-11-13 22:19:38.000000000 +0100
@@ -750,7 +750,7 @@
 }
 
 /*!
-    \qmlproperty list<georectangle> RouteQuery::excludedAreas
+    \qmlproperty list<geoRectangle> RouteQuery::excludedAreas
 
     Areas that the route must not cross.
 
@@ -778,9 +778,9 @@
 }
 
 /*!
-    \qmlmethod void QtLocation::RouteQuery::addExcludedArea(georectangle area)
+    \qmlmethod void QtLocation::RouteQuery::addExcludedArea(geoRectangle area)
 
-    Adds the specified georectangle \a area to the excluded areas
+    Adds the specified geoRectangle \a area to the excluded areas
     (areas that the route must not cross).
     The same area can only be added once.
 
@@ -809,7 +809,7 @@
 }
 
 /*!
-    \qmlmethod void QtLocation::RouteQuery::removeExcludedArea(georectangle 
area)
+    \qmlmethod void QtLocation::RouteQuery::removeExcludedArea(geoRectangle 
area)
 
     Removes the given \a area from excluded areas (areas that the route must 
not cross).
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/src/location/declarativeplaces/qdeclarativesearchresultmodel.cpp
 
new/qtlocation-everywhere-src-6.10.1/src/location/declarativeplaces/qdeclarativesearchresultmodel.cpp
--- 
old/qtlocation-everywhere-src-6.10.0/src/location/declarativeplaces/qdeclarativesearchresultmodel.cpp
       2025-10-02 01:38:27.000000000 +0200
+++ 
new/qtlocation-everywhere-src-6.10.1/src/location/declarativeplaces/qdeclarativesearchresultmodel.cpp
       2025-11-13 22:19:38.000000000 +0100
@@ -174,8 +174,8 @@
     This property holds the search area.  The search result returned by the 
model will be within
     the search area.
 
-    If this property is set to a \l {geocircle} its
-    \l {geocircle}{radius} property may be left unset, in which case the \l 
Plugin
+    If this property is set to a \l {geoCircle} its
+    \l {geoCircle}{radius} property may be left unset, in which case the \l 
Plugin
     will choose an appropriate radius for the search.
 
     Support for specifying a search area can vary according to the \l plugin 
backend
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/src/location/declarativeplaces/qdeclarativesearchsuggestionmodel.cpp
 
new/qtlocation-everywhere-src-6.10.1/src/location/declarativeplaces/qdeclarativesearchsuggestionmodel.cpp
--- 
old/qtlocation-everywhere-src-6.10.0/src/location/declarativeplaces/qdeclarativesearchsuggestionmodel.cpp
   2025-10-02 01:38:27.000000000 +0200
+++ 
new/qtlocation-everywhere-src-6.10.1/src/location/declarativeplaces/qdeclarativesearchsuggestionmodel.cpp
   2025-11-13 22:19:38.000000000 +0100
@@ -69,13 +69,13 @@
 */
 
 /*!
-    \qmlproperty geoshape PlaceSearchSuggestionModel::searchArea
+    \qmlproperty geoShape PlaceSearchSuggestionModel::searchArea
 
     This property holds the search area.  Search suggestion results returned 
by the model will be
     relevant to the given search area.
 
-    If this property is set to a \l {geocircle} its
-    \l {geocircle}{radius} property may be left unset, in which case the \l 
Plugin
+    If this property is set to a \l {geoCircle} its
+    \l {geoCircle}{radius} property may be left unset, in which case the \l 
Plugin
     will choose an appropriate radius for the search.
 */
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/src/location/maps/qgeoroute.cpp 
new/qtlocation-everywhere-src-6.10.1/src/location/maps/qgeoroute.cpp
--- old/qtlocation-everywhere-src-6.10.0/src/location/maps/qgeoroute.cpp        
2025-10-02 01:38:27.000000000 +0200
+++ new/qtlocation-everywhere-src-6.10.1/src/location/maps/qgeoroute.cpp        
2025-11-13 22:19:38.000000000 +0100
@@ -165,7 +165,7 @@
 }
 
 /*!
-    \qmlproperty georectangle QtLocation::route::bounds
+    \qmlproperty geoRectangle QtLocation::route::bounds
 
     Read-only property which holds a bounding box which encompasses the entire 
route.
 */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/src/location/quickmapitems/qdeclarativegeomap.cpp
 
new/qtlocation-everywhere-src-6.10.1/src/location/quickmapitems/qdeclarativegeomap.cpp
--- 
old/qtlocation-everywhere-src-6.10.0/src/location/quickmapitems/qdeclarativegeomap.cpp
      2025-10-02 01:38:27.000000000 +0200
+++ 
new/qtlocation-everywhere-src-6.10.1/src/location/quickmapitems/qdeclarativegeomap.cpp
      2025-11-13 22:19:38.000000000 +0100
@@ -1060,7 +1060,7 @@
 
 
 /*!
-    \qmlproperty geoshape QtLocation::Map::visibleRegion
+    \qmlproperty geoShape QtLocation::Map::visibleRegion
 
     This property holds the region which occupies the viewport of
     the map. The camera is positioned in the center of the shape, and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/src/location/quickmapitems/qdeclarativegeomapitemview.cpp
 
new/qtlocation-everywhere-src-6.10.1/src/location/quickmapitems/qdeclarativegeomapitemview.cpp
--- 
old/qtlocation-everywhere-src-6.10.0/src/location/quickmapitems/qdeclarativegeomapitemview.cpp
      2025-10-02 01:38:27.000000000 +0200
+++ 
new/qtlocation-everywhere-src-6.10.1/src/location/quickmapitems/qdeclarativegeomapitemview.cpp
      2025-11-13 22:19:38.000000000 +0100
@@ -82,13 +82,18 @@
     QDeclarativeGeoMapItemGroup::componentComplete();
     m_componentCompleted = true;
     if (!m_itemModel.isNull())
-        m_delegateModel->setModel(m_itemModel);
+        m_delegateModel->setModel(std::exchange(m_itemModel, QVariant()));
 
     if (m_delegate)
         m_delegateModel->setDelegate(m_delegate);
 
     m_delegateModel->setDelegateModelAccess(m_delegateModelAccess);
     m_delegateModel->componentComplete();
+
+    // Only connect it here because we don't want to see the modelChanged() 
for the initial setting
+    // of the model.
+    QObject::connect(m_delegateModel, &QQmlDelegateModel::modelChanged,
+                     this, &QDeclarativeGeoMapItemView::modelChanged);
 }
 
 void QDeclarativeGeoMapItemView::classBegin()
@@ -181,24 +186,29 @@
 */
 QVariant QDeclarativeGeoMapItemView::model() const
 {
-    return m_itemModel;
+    return m_componentCompleted
+            ? m_delegateModel->model()
+            : m_itemModel;
 }
 
 void QDeclarativeGeoMapItemView::setModel(const QVariant &model)
 {
-    if (model == m_itemModel)
-        return;
-
-    m_itemModel = model;
     if (m_componentCompleted) {
+        if (m_delegateModel->model() == model)
+            return;
 
         // Make sure to clear all stale items from the map and the model
         m_delegateModel->drainReusableItemsPool(0);
         removeInstantiatedItems(false);
 
-        m_delegateModel->setModel(m_itemModel);
+        m_delegateModel->setModel(model);
+        return;
     }
 
+    if (model == m_itemModel)
+        return;
+
+    m_itemModel = model;
     emit modelChanged();
 }
 
@@ -294,8 +304,13 @@
 void QDeclarativeGeoMapItemView::instantiateAllItems()
 {
     // The assumption is that if m_instantiatedItems isn't empty, instantiated 
items have been already added
-    if (!m_componentCompleted || !m_map || !m_delegate || m_itemModel.isNull() 
|| !m_instantiatedItems.isEmpty())
+    if (!m_componentCompleted
+            || !m_map
+            || !m_delegate
+            || m_delegateModel->model().isNull()
+            || !m_instantiatedItems.isEmpty()) {
         return;
+    }
 
     // If here, m_delegateModel may contain data, but 
QQmlInstanceModel::object for each row hasn't been called yet.
     QScopedValueRollback createBlocker(m_creatingObject, true);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/src/location/quickmapitems/qdeclarativepolylinemapitem.cpp
 
new/qtlocation-everywhere-src-6.10.1/src/location/quickmapitems/qdeclarativepolylinemapitem.cpp
--- 
old/qtlocation-everywhere-src-6.10.0/src/location/quickmapitems/qdeclarativepolylinemapitem.cpp
     2025-10-02 01:38:27.000000000 +0200
+++ 
new/qtlocation-everywhere-src-6.10.1/src/location/quickmapitems/qdeclarativepolylinemapitem.cpp
     2025-11-13 22:19:38.000000000 +0100
@@ -575,9 +575,9 @@
 }
 
 /*!
-    \qmlmethod void MapPolyline::setPath(geopath path)
+    \qmlmethod void MapPolyline::setPath(geoPath path)
 
-    Sets the \a path using a geopath type.
+    Sets the \a path using a geoPath type.
 
     \since 5.10
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/tests/auto/declarative_location_core/tst_place.qml
 
new/qtlocation-everywhere-src-6.10.1/tests/auto/declarative_location_core/tst_place.qml
--- 
old/qtlocation-everywhere-src-6.10.0/tests/auto/declarative_location_core/tst_place.qml
     2025-10-02 01:38:27.000000000 +0200
+++ 
new/qtlocation-everywhere-src-6.10.1/tests/auto/declarative_location_core/tst_place.qml
     2025-11-13 22:19:38.000000000 +0100
@@ -229,8 +229,10 @@
 
         compare(signalSpy.count, 2);
 
-        // set categories to the same (signal spy should not increase?)
+        // set categories to the same. Signal spy should not increase since 
nothing changes.
         testPlace.categories = categories;
+        compare(signalSpy.count, 2);
+
         compare(testPlace.categories.length, categories.length);
 
         for (var i = 0; i < categories.length; ++i) {
@@ -238,12 +240,13 @@
             compare(testPlace.categories[i].name, categories[i].name);
         }
 
-        compare(signalSpy.count, 5);    // clear + append + append
+        // All the comparing should not change anything about the list.
+        compare(signalSpy.count, 2);
 
         // reset by assignment
         testPlace.categories = new Array(0);
         compare(testPlace.categories.length, 0);
-        compare(signalSpy.count, 6);
+        compare(signalSpy.count, 3);
 
         signalSpy.destroy();
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/tests/auto/declarative_location_core/tst_placesearchmodel.qml
 
new/qtlocation-everywhere-src-6.10.1/tests/auto/declarative_location_core/tst_placesearchmodel.qml
--- 
old/qtlocation-everywhere-src-6.10.0/tests/auto/declarative_location_core/tst_placesearchmodel.qml
  2025-10-02 01:38:27.000000000 +0200
+++ 
new/qtlocation-everywhere-src-6.10.1/tests/auto/declarative_location_core/tst_placesearchmodel.qml
  2025-11-13 22:19:38.000000000 +0100
@@ -70,8 +70,10 @@
             { tag: "relevanceHint", property: "relevanceHint", signal: 
"relevanceHintChanged", value: PlaceSearchModel.DistanceHint, reset: 
PlaceSearchModel.UnspecifiedHint },
             { tag: "visibilityScope", property: "visibilityScope", signal: 
"visibilityScopeChanged", value: Place.DeviceVisibility, reset: 
Place.UnspecifiedVisibility },
             { tag: "favoritesPlugin", property: "favoritesPlugin", signal: 
"favoritesPluginChanged", value: favoritePlugin },
-            { tag: "category", property: "categories", signal: 
"categoriesChanged", value: testCategory1, expectedValue: [ testCategory1 ], 
reset: [], array: true },
-            { tag: "categories", property: "categories", signal: 
"categoriesChanged", value: [ testCategory1, testCategory2 ], reset: [], array: 
true },
+
+            // The "categories" property of PlaceSearchModel has its own 
signaling that triggers on every append().
+            { tag: "category", property: "categories", signal: 
"categoriesChanged", value: testCategory1, expectedValue: [ testCategory1 ], 
reset: [], array: true, emitsExtraSignals: true },
+            { tag: "categories", property: "categories", signal: 
"categoriesChanged", value: [ testCategory1, testCategory2 ], reset: [], array: 
true, emitsExtraSignals: true },
         ];
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/tests/auto/declarative_location_core/utils.js
 
new/qtlocation-everywhere-src-6.10.1/tests/auto/declarative_location_core/utils.js
--- 
old/qtlocation-everywhere-src-6.10.0/tests/auto/declarative_location_core/utils.js
  2025-10-02 01:38:27.000000000 +0200
+++ 
new/qtlocation-everywhere-src-6.10.1/tests/auto/declarative_location_core/utils.js
  2025-11-13 22:19:38.000000000 +0100
@@ -34,10 +34,12 @@
     if (data.array) {
         if (data.expectedValue) {
             testCase.verify(compareArray(testObject[data.property], 
data.expectedValue));
-            testCase.compare(signalSpy.count, 1 + data.expectedValue.length);
+            testCase.compare(
+                        signalSpy.count,
+                        1 + (data.emitsExtraSignals ? 
data.expectedValue.length : 0));
         } else {
             testCase.verify(compareArray(testObject[data.property], 
data.value));
-            testCase.compare(signalSpy.count, 1 + data.value.length);
+            testCase.compare(signalSpy.count, 1 + (data.emitsExtraSignals ? 
data.value.length : 0));
         }
 
     } else {
@@ -52,10 +54,13 @@
     if (data.array) {
         if (data.expectedValue) {
             testCase.verify(compareArray(testObject[data.property], 
data.expectedValue));
-            testCase.compare(signalSpy.count, 1 + data.expectedValue.length);
+            testCase.expectFailContinue(
+                        "category",
+                        "The QML engine should check equality before assigning 
a single object to a list.")
+            testCase.compare(signalSpy.count, 0);
         } else {
             testCase.verify(compareArray(testObject[data.property], 
data.value));
-            testCase.compare(signalSpy.count, 1 + data.value.length);
+            testCase.compare(signalSpy.count, 0);
         }
 
     } else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtlocation-everywhere-src-6.10.0/tests/auto/declarative_ui/tst_map_itemview.qml
 
new/qtlocation-everywhere-src-6.10.1/tests/auto/declarative_ui/tst_map_itemview.qml
--- 
old/qtlocation-everywhere-src-6.10.0/tests/auto/declarative_ui/tst_map_itemview.qml
 2025-10-02 01:38:27.000000000 +0200
+++ 
new/qtlocation-everywhere-src-6.10.1/tests/auto/declarative_ui/tst_map_itemview.qml
 2025-11-13 22:19:38.000000000 +0100
@@ -346,6 +346,19 @@
                 property int y: 12
             }
 
+            function aAt0() : real {
+                switch (modelIndex) {
+                case Model.Singular:
+                case Model.List:
+                    return model.get(0).a
+                case Model.Array:
+                    return model[0].a
+                case Model.Object:
+                    return model.a
+                }
+                return -1;
+            }
+
             property int modelIndex: Model.None
             property int delegateIndex: Delegate.None
 
@@ -720,10 +733,17 @@
             return data
         }
 
+        SignalSpy {
+            id: delegateModelAccessModelChangedSpy
+            target: delegateModelAccessItemView
+            signalName: "modelChanged"
+        }
+
         function test_delegateModelAccess(data) {
             delegateModelAccessItemView.delegateModelAccess = 
DelegateModel.Qt5ReadWrite
             delegateModelAccessItemView.modelIndex = Model.None
             delegateModelAccessItemView.delegateIndex = Delegate.None
+            delegateModelAccessModelChangedSpy.clear();
             tryCompare(mapForTestingDelegateModelAccess, "mapItemsLength", 0)
 
             const access = data.access
@@ -746,13 +766,36 @@
                 ? access !== DelegateModel.ReadOnly
                 : access === DelegateModel.ReadWrite
 
+            const writeShouldPropagate =
+
+                    // If we've explicitly asked for the model to be written, 
it is
+                    (access === DelegateModel.ReadWrite) ||
+
+                    // If it's a QAIM or an object, it's implicitly written
+                    (modelKind !== Model.Array) ||
+
+                    // When writing through the model object from a typed 
delegate,
+                    // the value was propagated even before.
+                    (access === DelegateModel.Qt5ReadWrite && delegateKind === 
Delegate.Typed);
+
+
+            // Only the array is actually updated itself. The other models are 
pointers
+            const writeShouldSignal = modelKind === Model.Array
+
             let expected = 11
 
+            // Initial setting of the model, signals one update
+            let expectedModelUpdates = 1;
+            compare(delegateModelAccessModelChangedSpy.count, 
expectedModelUpdates)
+
             compare(delegate.immediateX, expected)
             compare(delegate.modelX, expected)
 
-            if (modelWritable)
+            if (modelWritable) {
                 expected = 3
+                if (writeShouldSignal)
+                    ++expectedModelUpdates
+            }
 
             try {
                 delegate.writeThroughModel()
@@ -763,9 +806,14 @@
 
             compare(delegate.immediateX, expected)
             compare(delegate.modelX, expected)
+            compare(delegateModelAccessItemView.aAt0(), writeShouldPropagate ? 
expected : 11);
+            compare(delegateModelAccessModelChangedSpy.count, 
expectedModelUpdates)
 
-            if (immediateWritable)
+            if (immediateWritable) {
                 expected = 1
+                if (writeShouldSignal)
+                    ++expectedModelUpdates
+            }
 
             try {
                 delegate.writeImmediate()
@@ -778,6 +826,8 @@
             // Writes to required properties always succeed, but might not be 
propagated to the model
             compare(delegate.immediateX, delegateKind === Delegate.Untyped ? 
expected : 1)
             compare(delegate.modelX, expected)
+            compare(delegateModelAccessItemView.aAt0(), writeShouldPropagate ? 
expected : 11);
+            compare(delegateModelAccessModelChangedSpy.count, 
expectedModelUpdates)
         }
     }
 }

Reply via email to