Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libqt5-qtscxml for openSUSE:Factory 
checked in at 2024-01-04 15:57:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtscxml (Old)
 and      /work/SRC/openSUSE:Factory/.libqt5-qtscxml.new.28375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libqt5-qtscxml"

Thu Jan  4 15:57:55 2024 rev:27 rq:1136118 version:5.15.12+kde0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtscxml/libqt5-qtscxml.changes    
2023-10-08 12:21:38.701333678 +0200
+++ /work/SRC/openSUSE:Factory/.libqt5-qtscxml.new.28375/libqt5-qtscxml.changes 
2024-01-04 16:00:11.114629198 +0100
@@ -1,0 +2,7 @@
+Fri Dec 29 13:31:08 UTC 2023 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to version 5.15.12+kde0, rebased upstream:
+  * Fix history state index handling
+  * Bump version to 5.15.12
+
+-------------------------------------------------------------------

Old:
----
  qtscxml-everywhere-src-5.15.11+kde0.obscpio

New:
----
  qtscxml-everywhere-src-5.15.12+kde0.obscpio

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

Other differences:
------------------
++++++ libqt5-qtscxml.spec ++++++
--- /var/tmp/diff_new_pack.rsDJBk/_old  2024-01-04 16:00:13.282708399 +0100
+++ /var/tmp/diff_new_pack.rsDJBk/_new  2024-01-04 16:00:13.282708399 +0100
@@ -22,11 +22,11 @@
 %define qt5_snapshot 1
 %define libname libQt5Scxml5
 %define base_name libqt5
-%define real_version 5.15.11
-%define so_version 5.15.11
+%define real_version 5.15.12
+%define so_version 5.15.12
 %define tar_version qtscxml-everywhere-src-%{version}
 Name:           libqt5-qtscxml
-Version:        5.15.11+kde0
+Version:        5.15.12+kde0
 Release:        0
 Summary:        Qt 5 State Chart XML Library
 License:        LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)

++++++ _service ++++++
--- /var/tmp/diff_new_pack.rsDJBk/_old  2024-01-04 16:00:13.314709568 +0100
+++ /var/tmp/diff_new_pack.rsDJBk/_new  2024-01-04 16:00:13.314709568 +0100
@@ -1,12 +1,12 @@
 <services>
   <service name="obs_scm" mode="disabled">
    <param name="changesgenerate">enable</param>
-   <param name="versionformat">5.15.11+kde@TAG_OFFSET@</param>
+   <param name="versionformat">5.15.12+kde@TAG_OFFSET@</param>
    <param name="url">https://invent.kde.org/qt/qt/qtscxml.git</param>
    <param name="scm">git</param>
    <param name="filename">qtscxml-everywhere-src</param>
    <param name="revision">kde/5.15</param>
-   <param name="parent-tag">v5.15.11-lts-lgpl</param>
+   <param name="parent-tag">v5.15.12-lts-lgpl</param>
    <param name="changesgenerate">enable</param>
   </service>
   <service name="set_version" mode="disabled"/>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.rsDJBk/_old  2024-01-04 16:00:13.338710444 +0100
+++ /var/tmp/diff_new_pack.rsDJBk/_new  2024-01-04 16:00:13.342710591 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://invent.kde.org/qt/qt/qtscxml.git</param>
-              <param 
name="changesrevision">e8727aabe55526956295407d27317ec15e12b283</param></service></servicedata>
+              <param 
name="changesrevision">3f56c6b4bd1e3883581340243b4a7289807fffc9</param></service></servicedata>
 (No newline at EOF)
 

++++++ qtscxml-everywhere-src-5.15.11+kde0.obscpio -> 
qtscxml-everywhere-src-5.15.12+kde0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtscxml-everywhere-src-5.15.11+kde0/.qmake.conf 
new/qtscxml-everywhere-src-5.15.12+kde0/.qmake.conf
--- old/qtscxml-everywhere-src-5.15.11+kde0/.qmake.conf 2023-06-09 
16:09:12.000000000 +0200
+++ new/qtscxml-everywhere-src-5.15.12+kde0/.qmake.conf 2023-10-11 
15:01:45.000000000 +0200
@@ -4,4 +4,4 @@
 
 DEFINES += QT_NO_FOREACH QT_NO_JAVA_STYLE_ITERATORS QT_NO_LINKED_LIST
 
-MODULE_VERSION = 5.15.11
+MODULE_VERSION = 5.15.12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtscxml-everywhere-src-5.15.11+kde0/src/scxml/qscxmlstatemachine.cpp 
new/qtscxml-everywhere-src-5.15.12+kde0/src/scxml/qscxmlstatemachine.cpp
--- old/qtscxml-everywhere-src-5.15.11+kde0/src/scxml/qscxmlstatemachine.cpp    
2023-06-09 16:09:12.000000000 +0200
+++ new/qtscxml-everywhere-src-5.15.12+kde0/src/scxml/qscxmlstatemachine.cpp    
2023-10-11 15:01:45.000000000 +0200
@@ -767,6 +767,9 @@
 
 void QScxmlStateMachinePrivate::updateMetaCache()
 {
+    // This function creates a mapping from state index/name to their signal 
indexes.
+    // The state index may differ from its signal index as we don't generate 
history
+    // and invalid states, effectively skipping them
     m_stateIndexToSignalIndex.clear();
     m_stateNameToSignalIndex.clear();
 
@@ -2366,7 +2369,11 @@
 bool QScxmlStateMachine::isActive(int stateIndex) const
 {
     Q_D(const QScxmlStateMachine);
-    return d->m_configuration.contains(stateIndex);
+    // Here we need to find the actual internal state index that corresponds 
with the
+    // index of the compiled metaobject (which is same as its mapped signal 
index).
+    // See updateMetaCache()
+    const int mappedStateIndex = d->m_stateIndexToSignalIndex.key(stateIndex, 
-1);
+    return d->m_configuration.contains(mappedStateIndex);
 }
 
 QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtscxml-everywhere-src-5.15.11+kde0/tests/auto/scion/tst_scion.cpp 
new/qtscxml-everywhere-src-5.15.12+kde0/tests/auto/scion/tst_scion.cpp
--- old/qtscxml-everywhere-src-5.15.11+kde0/tests/auto/scion/tst_scion.cpp      
2023-06-09 16:09:12.000000000 +0200
+++ new/qtscxml-everywhere-src-5.15.12+kde0/tests/auto/scion/tst_scion.cpp      
2023-10-11 15:01:45.000000000 +0200
@@ -269,16 +269,37 @@
 
 static bool verifyStates(QScxmlStateMachine *stateMachine, const QJsonObject 
&stateDescription, const QString &key, int counter)
 {
+    const auto errorMessage = [&key, &counter](const QStringList& current,
+                                     const QStringList& expected, const 
QLatin1String& details) {
+        qWarning("Incorrect %s (%d)!", qPrintable(key), counter);
+        qWarning() << "Current configuration:" << current;
+        qWarning() << "Expected configuration:" << expected;
+        qWarning() << "Failed state read was done with:" << details;
+    };
+
+    // Verify that activeStateNames() matches the expectation
     auto current = stateMachine->activeStateNames();
     std::sort(current.begin(), current.end());
     auto expected = getStates(stateDescription, key);
-    if (current == expected)
-        return true;
+    if (current != expected) {
+        errorMessage(current, expected, QLatin1String("activeStateNames()"));
+        return false;
+    }
 
-    qWarning("Incorrect %s (%d)!", qPrintable(key), counter);
-    qWarning() << "Current configuration:" << current;
-    qWarning() << "Expected configuration:" << expected;
-    return false;
+    for (const auto& s : expected) {
+        // Verify that isActive(stateName) matches the expectation
+        if (!stateMachine->isActive(s)) {
+            errorMessage(current, expected, QLatin1String("isActive()"));
+            return false;
+        }
+        // Verify that the metaobject matches the expectation
+        const auto mo = stateMachine->metaObject();
+        if 
(!mo->property(mo->indexOfProperty(s.toLocal8Bit())).read(stateMachine).toBool())
 {
+            errorMessage(current, expected, QLatin1String("metaobject read"));
+            return false;
+        }
+    }
+    return true;
 }
 
 static bool playEvent(QScxmlStateMachine *stateMachine, const QJsonObject 
&eventDescription, int counter)
@@ -344,11 +365,32 @@
     });
     MySignalSpy triggerSpy(&trigger, SIGNAL(timeout()));
 
+    // Create a signal spy for each state we expect to be (de)activated in 
next transition.
+    const auto expectedActive = getStates(eventDescription, 
QLatin1String("nextConfiguration"));
+    std::list<std::unique_ptr<QSignalSpy>> stateSpies;
+    const auto mo = stateMachine->metaObject();
+
+    for (const auto& s : stateMachine->stateNames()) {
+        if (expectedActive.contains(s) == stateMachine->isActive(s))
+            continue;
+        // The state is expected to undergo an activation change, create a 
signal spy
+        const auto changedSignal = s + QLatin1String("Changed(bool)");
+        auto signalIndex = 
mo->indexOfSignal(changedSignal.toUtf8().constData());
+        stateSpies.push_back(std::unique_ptr<QSignalSpy>(
+                                 new QSignalSpy(stateMachine, 
mo->method(signalIndex))));
+    }
+
     stateMachine->submitEvent(e);
 
     if (!triggerSpy.fastWait()) {
         qWarning() << "State machine did not reach a stable state.";
     } else if (verifyStates(stateMachine, eventDescription, 
QLatin1String("nextConfiguration"), counter)) {
+        for (const auto& spy : stateSpies) {
+            if (spy->size() != 1) {
+                qWarning() << "Signal error for:" << spy->signal() << ", 
size:" << spy->size();
+                return false;
+            }
+        }
         return true;
     }
 

++++++ qtscxml-everywhere-src.obsinfo ++++++
--- /var/tmp/diff_new_pack.rsDJBk/_old  2024-01-04 16:00:13.974733678 +0100
+++ /var/tmp/diff_new_pack.rsDJBk/_new  2024-01-04 16:00:13.994734410 +0100
@@ -1,5 +1,5 @@
 name: qtscxml-everywhere-src
-version: 5.15.11+kde0
-mtime: 1686319752
-commit: e8727aabe55526956295407d27317ec15e12b283
+version: 5.15.12+kde0
+mtime: 1697029305
+commit: 3f56c6b4bd1e3883581340243b4a7289807fffc9
 

Reply via email to