Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-lottie for openSUSE:Factory checked in at 2026-08-21 16:52:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-lottie (Old) and /work/SRC/openSUSE:Factory/.qt6-lottie.new.1258 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-lottie" Fri Aug 21 16:52:57 2026 rev:42 rq:1372246 version:6.11.2 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-lottie/qt6-lottie.changes 2026-05-28 17:27:21.724769318 +0200 +++ /work/SRC/openSUSE:Factory/.qt6-lottie.new.1258/qt6-lottie.changes 2026-08-21 16:54:06.324629884 +0200 @@ -1,0 +2,6 @@ +Tue Aug 18 11:48:48 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 6.11.2 + https://www.qt.io/blog/qt-6.11.2-released + +------------------------------------------------------------------- Old: ---- qtlottie-everywhere-src-6.11.1.tar.xz New: ---- qtlottie-everywhere-src-6.11.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-lottie.spec ++++++ --- /var/tmp/diff_new_pack.wF7Nmy/_old 2026-08-21 16:54:07.428668187 +0200 +++ /var/tmp/diff_new_pack.wF7Nmy/_new 2026-08-21 16:54:07.430668256 +0200 @@ -16,7 +16,7 @@ # -%define real_version 6.11.1 +%define real_version 6.11.2 %define short_version 6.11 %define short_name qtlottie %define tar_name qtlottie-everywhere-src @@ -28,7 +28,7 @@ %endif # Name: qt6-lottie%{?pkg_suffix} -Version: 6.11.1 +Version: 6.11.2 Release: 0 Summary: QML API for rendering graphics and animation # LICENSE.GPL3-EXCEPT only applies to the conan recipe which is not used ++++++ qtlottie-everywhere-src-6.11.1.tar.xz -> qtlottie-everywhere-src-6.11.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlottie-everywhere-src-6.11.1/.cmake.conf new/qtlottie-everywhere-src-6.11.2/.cmake.conf --- old/qtlottie-everywhere-src-6.11.1/.cmake.conf 2026-05-08 03:18:53.000000000 +0200 +++ new/qtlottie-everywhere-src-6.11.2/.cmake.conf 2026-08-12 03:33:42.000000000 +0200 @@ -1,8 +1,9 @@ -set(QT_REPO_MODULE_VERSION "6.11.1") +set(QT_REPO_MODULE_VERSION "6.11.2") set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_CONTEXTLESS_CONNECT=1" "QT_NO_FOREACH=1" "QT_NO_QASCONST=1" + "QT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD=1" "QT_NO_URL_CAST_FROM_STRING=1" ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlottie-everywhere-src-6.11.1/.tag new/qtlottie-everywhere-src-6.11.2/.tag --- old/qtlottie-everywhere-src-6.11.1/.tag 2026-05-08 03:18:53.000000000 +0200 +++ new/qtlottie-everywhere-src-6.11.2/.tag 2026-08-12 03:33:42.000000000 +0200 @@ -1 +1 @@ -a22c96958c14843a456a787e108e67bb07947142 +2b64c8abf2476eb2278283b54412131c5d444f19 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlottie-everywhere-src-6.11.1/dependencies.yaml new/qtlottie-everywhere-src-6.11.2/dependencies.yaml --- old/qtlottie-everywhere-src-6.11.1/dependencies.yaml 2026-05-08 03:18:53.000000000 +0200 +++ new/qtlottie-everywhere-src-6.11.2/dependencies.yaml 2026-08-12 03:33:42.000000000 +0200 @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: 59c81a3c2247b821b9b84b4eb8d939b77e07e276 + ref: ef55f427f2c8b410d34f8a7681020a3000cf6866 required: true ../qtdeclarative: - ref: a02bed441965ee1f18f856352c7d5ee5ba35d795 + ref: 4e3399c26ec57246c08de019cfcbda8d23604cfa required: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlottie-everywhere-src-6.11.1/src/lottie/qlottieproperty_p.h new/qtlottie-everywhere-src-6.11.2/src/lottie/qlottieproperty_p.h --- old/qtlottie-everywhere-src-6.11.1/src/lottie/qlottieproperty_p.h 2026-05-08 03:18:53.000000000 +0200 +++ new/qtlottie-everywhere-src-6.11.2/src/lottie/qlottieproperty_p.h 2026-08-12 03:33:42.000000000 +0200 @@ -164,7 +164,7 @@ m_easingCurves.push_back(easing); } - const EasingSegment<T>* getEasingSegment(int frame) + const EasingSegment<T> *getEasingSegment(int frame, int *index = nullptr) { // TODO: Improve with a faster search algorithm const EasingSegment<T> *easing = m_currentEasing; @@ -174,6 +174,8 @@ if (m_easingCurves.at(i).startFrame <= frame && m_easingCurves.at(i).endFrame >= frame) { m_currentEasing = &m_easingCurves.at(i); + if (index) + *index = i; break; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlottie-everywhere-src-6.11.1/src/lottie/qlottiespatialproperty_p.h new/qtlottie-everywhere-src-6.11.2/src/lottie/qlottiespatialproperty_p.h --- old/qtlottie-everywhere-src-6.11.1/src/lottie/qlottiespatialproperty_p.h 2026-05-08 03:18:53.000000000 +0200 +++ new/qtlottie-everywhere-src-6.11.2/src/lottie/qlottiespatialproperty_p.h 2026-08-12 03:33:42.000000000 +0200 @@ -28,7 +28,6 @@ virtual void construct(const QJsonObject &definition) override { qCDebug(lcLottieQtLottieParser) << "QLottieSpatialProperty::parse()"; - m_bezierPath.setCachingEnabled(true); QLottieProperty2D<QPointF>::construct(definition); } @@ -149,12 +148,25 @@ return false; int adjustedFrame = qBound(m_startFrame, frame, m_endFrame); - if (const EasingSegment<QPointF> *easing = getEasingSegment(adjustedFrame)) { - qreal progress = ((adjustedFrame - m_startFrame) * 1.0) / (m_endFrame - m_startFrame); - qreal easedValue = easing->valueForProgress(progress); - m_value = m_bezierPath.pointAtPercent(easedValue); + int index = -1; + if (const EasingSegment<QPointF> *easing = getEasingSegment(adjustedFrame, &index)) { + if (easing->endFrame == easing->startFrame) { // Last, special keyframe + m_value = easing->startValue; + } else if (adjustedFrame == easing->startFrame) { + m_value = easing->startValue; + } else if (adjustedFrame == easing->endFrame) { + m_value = easing->endValue; + } else { + const qreal progress = qreal(adjustedFrame - easing->startFrame) + / (easing->endFrame - easing->startFrame); + const qreal easedProgress = easing->valueForProgress(progress); + const QPainterPath subPath = m_subPaths.value(index); + if (subPath.elementCount() == 2) // I.e. a lineto; do simple linear calculation + m_value = easing->startValue + easedProgress * (easing->endValue - easing->startValue); + else + m_value = subPath.pointAtPercent(easedProgress); + } } - return true; } @@ -178,23 +190,20 @@ private: void moveTo(const QPointF &e) { - m_bezierPath.moveTo(e); + m_subPaths.last().setCachingEnabled(true); m_subPaths.last().moveTo(e); } void lineTo(const QPointF &e) { - m_bezierPath.lineTo(e); m_subPaths.last().lineTo(e); } void cubicTo(const QPointF &c1, const QPointF &c2, const QPointF &e) { - m_bezierPath.cubicTo(c1, c2, e); m_subPaths.last().cubicTo(c1, c2, e); } - QPainterPath m_bezierPath; QList<QPainterPath> m_subPaths; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlottie-everywhere-src-6.11.1/src/qml/doc/qtlottieanimation.qdocconf new/qtlottie-everywhere-src-6.11.2/src/qml/doc/qtlottieanimation.qdocconf --- old/qtlottie-everywhere-src-6.11.1/src/qml/doc/qtlottieanimation.qdocconf 2026-05-08 03:18:53.000000000 +0200 +++ new/qtlottie-everywhere-src-6.11.2/src/qml/doc/qtlottieanimation.qdocconf 2026-08-12 03:33:42.000000000 +0200 @@ -6,14 +6,12 @@ description = Lottie Player for Qt buildversion = Qt Lottie Animation | Commercial or GPLv3 -# No C++ API do document, prevent QDoc from searching for a module header -moduleheader = - headerdirs += ../.. sourcedirs += ../.. -moduleheader = QtLottieAnimation +# No C++ API to document, prevent QDoc from searching for a module header +moduleheader = depends += qtdoc qtqml qtquick @@ -25,14 +23,14 @@ qhp.QtLottieAnimation.indexTitle = Qt Lottie Animation qhp.QtLottieAnimation.indexRoot = -qhp.QtLottieAnimation.subprojects = qmltypes +qhp.QtLottieAnimation.subprojects = qmltypes examples qhp.QtLottieAnimation.subprojects.qmltypes.title = QML Types qhp.QtLottieAnimation.subprojects.qmltypes.indexTitle = Qt Lottie Animation QML Types qhp.QtLottieAnimation.subprojects.qmltypes.selectors = qmltype qhp.QtLottieAnimation.subprojects.qmltypes.sortPages = true qhp.QtLottieAnimation.subprojects.examples.title = Examples -qhp.QtLottieAnimation.subprojects.examples.indexTitle = Qt Lottie Animation Examples and Tutorials +qhp.QtLottieAnimation.subprojects.examples.indexTitle = Qt Lottie Animation Examples qhp.QtLottieAnimation.subprojects.examples.selectors = example qhp.QtLottieAnimation.subprojects.examples.sortPages = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtlottie-everywhere-src-6.11.1/src/qml/doc/src/qtlottie-examples.qdoc new/qtlottie-everywhere-src-6.11.2/src/qml/doc/src/qtlottie-examples.qdoc --- old/qtlottie-everywhere-src-6.11.1/src/qml/doc/src/qtlottie-examples.qdoc 1970-01-01 01:00:00.000000000 +0100 +++ new/qtlottie-everywhere-src-6.11.2/src/qml/doc/src/qtlottie-examples.qdoc 2026-08-12 03:33:42.000000000 +0200 @@ -0,0 +1,10 @@ +// Copyright (C) 2026 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only + +/*! + \group qtlottieexamples + \title Qt Lottie Animation Examples + + Examples demonstrating the use of \l {Qt.labs.lottieqt} module and + the \l lottietoqml tool. +*/
