Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kf6-ksvg for openSUSE:Factory 
checked in at 2026-06-16 13:51:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kf6-ksvg (Old)
 and      /work/SRC/openSUSE:Factory/.kf6-ksvg.new.1981 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kf6-ksvg"

Tue Jun 16 13:51:56 2026 rev:30 rq:1358908 version:6.27.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kf6-ksvg/kf6-ksvg.changes        2026-05-11 
16:57:54.602214343 +0200
+++ /work/SRC/openSUSE:Factory/.kf6-ksvg.new.1981/kf6-ksvg.changes      
2026-06-16 13:56:56.902069947 +0200
@@ -1,0 +2,17 @@
+Sat Jun  6 11:42:21 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 6.27.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/6/6.27.0
+- Changes since 6.26.0:
+  * Update dependency version to 6.27.0
+  * Svg: clear stylesheetOverride on imageSetChanged (kde#503671)
+  * Svg: make eventFilter public again
+  * CMake config file: remove duplicated targets include
+  * Drop accidental duplicate QML registration
+  * Remove unused ECM module
+  * Add basic test for SvgItem
+  * Update version to 6.27.0
+
+-------------------------------------------------------------------

Old:
----
  ksvg-6.26.0.tar.xz
  ksvg-6.26.0.tar.xz.sig

New:
----
  ksvg-6.27.0.tar.xz
  ksvg-6.27.0.tar.xz.sig

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

Other differences:
------------------
++++++ kf6-ksvg.spec ++++++
--- /var/tmp/diff_new_pack.rWbYmW/_old  2026-06-16 13:56:58.910153814 +0200
+++ /var/tmp/diff_new_pack.rWbYmW/_new  2026-06-16 13:56:58.910153814 +0200
@@ -19,11 +19,11 @@
 %define qt6_version 6.9.0
 
 %define rname ksvg
-# Full KF6 version (e.g. 6.26.0)
+# Full KF6 version (e.g. 6.27.0)
 %{!?_kf6_version: %global _kf6_version %{version}}
 %bcond_without released
 Name:           kf6-ksvg
-Version:        6.26.0
+Version:        6.27.0
 Release:        0
 Summary:        Components for handling SVGs
 License:        GPL-2.0-or-later


++++++ ksvg-6.26.0.tar.xz -> ksvg-6.27.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksvg-6.26.0/CMakeLists.txt 
new/ksvg-6.27.0/CMakeLists.txt
--- old/ksvg-6.26.0/CMakeLists.txt      2026-05-01 13:55:27.000000000 +0200
+++ new/ksvg-6.27.0/CMakeLists.txt      2026-06-05 17:49:14.000000000 +0200
@@ -1,12 +1,12 @@
 cmake_minimum_required(VERSION 3.29)
 
-set(KF_VERSION "6.26.0") # handled by release scripts
-set(KF_DEP_VERSION "6.26.0") # handled by release scripts
+set(KF_VERSION "6.27.0") # handled by release scripts
+set(KF_DEP_VERSION "6.27.0") # handled by release scripts
 project(KSvg VERSION ${KF_VERSION})
 
 # ECM setup
 include(FeatureSummary)
-find_package(ECM 6.26.0  NO_MODULE)
+find_package(ECM 6.27.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL "https://commits.kde.org/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
@@ -23,7 +23,6 @@
 include(ECMSetupVersion)
 include(ECMQtDeclareLoggingCategory)
 include(KDEPackageAppTemplates)
-include(ECMGenerateQmlTypes)
 include(ECMMarkNonGuiExecutable)
 include(ECMDeprecationSettings)
 include(ECMQmlModule)
@@ -55,7 +54,7 @@
 
 ecm_set_disabled_deprecation_versions(
     QT 6.11.0
-    KF 6.23.0
+    KF 6.26.0
 )
 
 #add_definitions(-Wno-deprecated)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksvg-6.26.0/KF6SvgConfig.cmake.in 
new/ksvg-6.27.0/KF6SvgConfig.cmake.in
--- old/ksvg-6.26.0/KF6SvgConfig.cmake.in       2026-05-01 13:55:27.000000000 
+0200
+++ new/ksvg-6.27.0/KF6SvgConfig.cmake.in       2026-06-05 17:49:14.000000000 
+0200
@@ -2,8 +2,6 @@
 
 # Any changes in this ".cmake" file will be overwritten by CMake, the source 
is the ".cmake.in" file.
 
-include("${CMAKE_CURRENT_LIST_DIR}/KF6SvgTargets.cmake")
-
 set(KSvg_INSTALL_PREFIX "@PACKAGE_CMAKE_INSTALL_PREFIX@")
 
 set(KSvg_LIBRARIES KF6::Svg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksvg-6.26.0/autotests/CMakeLists.txt 
new/ksvg-6.27.0/autotests/CMakeLists.txt
--- old/ksvg-6.26.0/autotests/CMakeLists.txt    2026-05-01 13:55:27.000000000 
+0200
+++ new/ksvg-6.27.0/autotests/CMakeLists.txt    2026-06-05 17:49:14.000000000 
+0200
@@ -9,7 +9,7 @@
 
 MACRO(KSVG_UNIT_TESTS)
        FOREACH(_testname ${ARGN})
-               set(libs Qt6::Qml Qt6::Test KF6::Svg
+               set(libs Qt6::Qml Qt6::Test KF6::Svg Qt6::Svg
                         KF6::Archive KF6::CoreAddons KF6::ConfigGui 
KF6::ColorScheme)
                if(QT_QTOPENGL_FOUND)
                    list(APPEND libs Qt6::OpenGL)
@@ -27,5 +27,6 @@
     framesvgtest
     imagesettest
     svgtest
+    itemtest
 )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ksvg-6.26.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/element.svg
 
new/ksvg-6.27.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/element.svg
--- 
old/ksvg-6.26.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/element.svg
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/ksvg-6.27.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/element.svg
        2026-06-05 17:49:14.000000000 +0200
@@ -0,0 +1 @@
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ksvg-6.26.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/metadata.json
 
new/ksvg-6.27.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/metadata.json
--- 
old/ksvg-6.26.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/metadata.json
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/ksvg-6.27.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/metadata.json
      2026-06-05 17:49:14.000000000 +0200
@@ -0,0 +1,18 @@
+{
+    "KPlugin": {
+        "Authors": [
+            {
+                "Email": "[email protected]",
+                "Name": "KDE Visual Design Group"
+            }
+        ],
+        "Category": "",
+        "EnabledByDefault": true,
+        "Id": "default",
+        "License": "LGPL",
+        "Name": "Plasma test theme",
+        "Version": "5.20",
+        "Website": "https://plasma.kde.org";
+    },
+    "X-Plasma-API": "5.0"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ksvg-6.26.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/opaque/element.svg
 
new/ksvg-6.27.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/opaque/element.svg
--- 
old/ksvg-6.26.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/opaque/element.svg
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/ksvg-6.27.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/opaque/element.svg
 2026-06-05 17:49:14.000000000 +0200
@@ -0,0 +1 @@
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ksvg-6.26.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/plasmarc
 
new/ksvg-6.27.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/plasmarc
--- 
old/ksvg-6.26.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/plasmarc
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/ksvg-6.27.0/autotests/data/plasma/desktoptheme/testthemesystemcolors/plasmarc
   2026-06-05 17:49:14.000000000 +0200
@@ -0,0 +1,5 @@
+[ContrastEffect]
+enabled=true
+contrast=0.23
+intensity=2.0
+saturation=1.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksvg-6.26.0/autotests/itemtest.cpp 
new/ksvg-6.27.0/autotests/itemtest.cpp
--- old/ksvg-6.26.0/autotests/itemtest.cpp      1970-01-01 01:00:00.000000000 
+0100
+++ new/ksvg-6.27.0/autotests/itemtest.cpp      2026-06-05 17:49:14.000000000 
+0200
@@ -0,0 +1,92 @@
+/*
+ *  SPDX-FileCopyrightText: 2026 Nicolas Fella <[email protected]>
+ *
+ *  SPDX-License-Identifier: LGPL-2.0-or-later
+ */
+
+#include <QDirIterator>
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+#include <QQmlComponent>
+#include <QStandardPaths>
+#include <QTest>
+
+#include <KSvg/ImageSet>
+#include <KSvg/Svg>
+
+class ItemTest : public QObject
+{
+    Q_OBJECT
+
+public Q_SLOTS:
+    void initTestCase();
+    void cleanupTestCase();
+
+private Q_SLOTS:
+    void testItem();
+
+private:
+    QDir m_themeDir;
+};
+
+void copyDirectory(const QString &srcDir, const QString &dstDir)
+{
+    QDir targetDir(dstDir);
+    QDirIterator it(srcDir, QDir::Filters(QDir::Files | QDir::Dirs | 
QDir::NoDotAndDotDot | QDir::Name), QDirIterator::Subdirectories);
+    while (it.hasNext()) {
+        it.next();
+        QString path = it.filePath();
+        QString relDestPath = path.last(it.filePath().length() - 
srcDir.length() - 1);
+        if (it.fileInfo().isDir()) {
+            QVERIFY(targetDir.mkpath(relDestPath));
+        } else {
+            QVERIFY(QFile::copy(path, dstDir % '/' % relDestPath));
+        }
+    }
+}
+
+void ItemTest::initTestCase()
+{
+    QStandardPaths::setTestModeEnabled(true);
+
+    m_themeDir = 
QDir(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) % 
'/' % "plasma");
+    m_themeDir.removeRecursively();
+
+    copyDirectory(QFINDTESTDATA("data/plasma"), m_themeDir.absolutePath());
+
+    m_themeDir.mkpath("desktoptheme/testtheme/widgets");
+    QVERIFY(QFile::copy(QFINDTESTDATA("data/background.svgz"), 
m_themeDir.absolutePath() + "/desktoptheme/testtheme/widgets/background.svgz"));
+}
+
+void ItemTest::cleanupTestCase()
+{
+    m_themeDir.removeRecursively();
+}
+
+void ItemTest::testItem()
+{
+    auto set = std::make_unique<KSvg::ImageSet>();
+    set->setBasePath("plasma/desktoptheme");
+    set->setImageSetName("testtheme");
+
+    QQmlEngine engine;
+    QQmlComponent comp(&engine, QFINDTESTDATA("itemtest.qml"));
+    auto item = comp.create();
+    QVERIFY(item);
+
+    auto svg = item->property("svg").value<KSvg::Svg *>();
+    QVERIFY(svg);
+
+    QVERIFY(svg->isValid());
+    QCOMPARE(svg->imageSet()->imageSetName(), "testtheme");
+    QCOMPARE(svg->imagePath(), "widgets/background");
+
+    QCOMPARE(item->property("naturalSize"), QSizeF(148, 148));
+    QCOMPARE(item->property("elementRect"), QRectF(0, 0, 148, 148));
+
+    delete item;
+}
+
+#include "itemtest.moc"
+
+QTEST_MAIN(ItemTest);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksvg-6.26.0/autotests/itemtest.qml 
new/ksvg-6.27.0/autotests/itemtest.qml
--- old/ksvg-6.26.0/autotests/itemtest.qml      1970-01-01 01:00:00.000000000 
+0100
+++ new/ksvg-6.27.0/autotests/itemtest.qml      2026-06-05 17:49:14.000000000 
+0200
@@ -0,0 +1,14 @@
+/*
+ *  SPDX-FileCopyrightText: 2026 Nicolas Fella <[email protected]>
+ *
+ *  SPDX-License-Identifier: LGPL-2.0-or-later
+ */
+
+import QtQuick
+
+import org.kde.ksvg as KSvg
+
+KSvg.SvgItem {
+    imagePath: "widgets/background"
+    anchors.fill: parent
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksvg-6.26.0/autotests/svgtest.cpp 
new/ksvg-6.27.0/autotests/svgtest.cpp
--- old/ksvg-6.26.0/autotests/svgtest.cpp       2026-05-01 13:55:27.000000000 
+0200
+++ new/ksvg-6.27.0/autotests/svgtest.cpp       2026-06-05 17:49:14.000000000 
+0200
@@ -4,13 +4,17 @@
  *  SPDX-License-Identifier: LGPL-2.0-or-later
  */
 
-#include "svg.h"
-
 #include <QDirIterator>
 #include <QSignalSpy>
 #include <QTest>
 
 #include <KColorScheme>
+#include <KConfigGroup>
+
+// Cursed way to access SvgPrivate
+#define private public
+#include "../src/ksvg/private/svg_p.h"
+#include "svg.h"
 
 using namespace Qt::Literals;
 
@@ -21,11 +25,13 @@
 public Q_SLOTS:
     void initTestCase();
     void cleanupTestCase();
+    void cleanup();
 
 private Q_SLOTS:
     void testSize();
     void testElements();
     void testColors();
+    void testStylesheetOverrideColorChange();
 
 private:
     KSvg::Svg *m_svg;
@@ -71,6 +77,13 @@
     m_themeDir.removeRecursively();
 }
 
+void SvgTest::cleanup()
+{
+    auto config = KSharedConfig::openConfig(QStringLiteral("kdeglobals"));
+    KConfigGroup cg(config, "Colors:Window");
+    cg.deleteEntry("BackgroundNormal");
+}
+
 void SvgTest::testSize()
 {
     QSignalSpy spy(m_svg, &KSvg::Svg::sizeChanged);
@@ -150,6 +163,39 @@
     QCOMPARE(m_svg->color(KSvg::Svg::Text), 
viewColors.foreground(KColorScheme::NormalText));
 }
 
+void SvgTest::testStylesheetOverrideColorChange()
+{
+    auto config = KSharedConfig::openConfig(QStringLiteral("kdeglobals"));
+    KColorScheme windowColors(QPalette::Normal, KColorScheme::Window, config);
+    auto set = new KSvg::ImageSet("testthemesystemcolors", 
"plasma/desktoptheme");
+    m_svg->setImageSet(set);
+    // Set a color override in the svg
+    m_svg->setColor(KSvg::Svg::Text, Qt::blue);
+    // set->setImageSetName(QStringLiteral("testthemesystemcolors"));
+
+    QSignalSpy spy(set, &KSvg::ImageSet::imageSetChanged);
+
+    QCOMPARE(m_svg->color(KSvg::Svg::Text), Qt::blue);
+
+    // Generate pixmap and stylesheet
+    m_svg->pixmap();
+    // Since we set a color, stylesheetOverride must be present
+    QVERIFY(!m_svg->d->stylesheetOverride.isEmpty());
+
+    // Simulate an application color scheme change, setting background to red
+    QPalette pal = qApp->palette();
+    KConfigGroup cg(config, "Colors:Window");
+    cg.writeEntry("BackgroundNormal", QStringLiteral("255,0,0"));
+    KColorScheme::adjustForeground(pal, KColorScheme::NormalText, 
QPalette::WindowText, KColorScheme::Window, config);
+    config->sync();
+    qApp->setPalette(pal);
+    // Wait the app color change is completely done, then regenerate pixmaps 
and stylesheets
+    QVERIFY(spy.wait());
+    m_svg->pixmap();
+    // The background in stylesheetoverride is now red
+    
QVERIFY(m_svg->d->stylesheetOverride.contains(QStringLiteral(".ColorScheme-Background{color:#ff0000;}")));
+}
+
 QTEST_MAIN(SvgTest)
 
 #include "svgtest.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksvg-6.26.0/po/ug/libksvg6.po 
new/ksvg-6.27.0/po/ug/libksvg6.po
--- old/ksvg-6.26.0/po/ug/libksvg6.po   1970-01-01 01:00:00.000000000 +0100
+++ new/ksvg-6.27.0/po/ug/libksvg6.po   2026-06-05 17:49:14.000000000 +0200
@@ -0,0 +1,29 @@
+# Uyghur translation for libksvg6.
+# Copyright (C) YEAR This file is copyright:
+# This file is distributed under the same license as the ksvg package.
+# Abduqadir Abliz <[email protected]>, 2026., YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ksvg\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2025-11-17 11:49+0000\n"
+"PO-Revision-Date: 2026-05-31 19:45-0400\n"
+"Last-Translator: Abduqadir Abliz <[email protected]>\n"
+"Language-Team: Uyghur <[email protected]>\n"
+"Language: ug\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 3.9\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#, kde-format
+msgctxt "NAME OF TRANSLATORS"
+msgid "Your names"
+msgstr "ئابدۇقادىر ئابلىز، غەيرەت كەنجى"
+
+#, kde-format
+msgctxt "EMAIL OF TRANSLATORS"
+msgid "Your emails"
+msgstr "[email protected], [email protected]"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksvg-6.26.0/src/declarativeimports/types.h 
new/ksvg-6.27.0/src/declarativeimports/types.h
--- old/ksvg-6.26.0/src/declarativeimports/types.h      2026-05-01 
13:55:27.000000000 +0200
+++ new/ksvg-6.27.0/src/declarativeimports/types.h      2026-06-05 
17:49:14.000000000 +0200
@@ -27,7 +27,6 @@
  */
 struct SvgForeign {
     Q_GADGET
-    QML_ELEMENT
     QML_NAMED_ELEMENT(Svg)
     QML_FOREIGN(KSvg::Svg)
 };
@@ -39,7 +38,6 @@
  */
 struct FrameSvgForeign {
     Q_GADGET
-    QML_ELEMENT
     QML_NAMED_ELEMENT(FrameSvg)
     QML_FOREIGN(KSvg::FrameSvg)
 };
@@ -51,7 +49,6 @@
  */
 struct ImageSetForeign {
     Q_GADGET
-    QML_ELEMENT
     QML_SINGLETON
     QML_NAMED_ELEMENT(ImageSet)
     QML_FOREIGN(KSvg::ImageSet)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksvg-6.26.0/src/ksvg/svg.cpp 
new/ksvg-6.27.0/src/ksvg/svg.cpp
--- old/ksvg-6.26.0/src/ksvg/svg.cpp    2026-05-01 13:55:27.000000000 +0200
+++ new/ksvg-6.27.0/src/ksvg/svg.cpp    2026-06-05 17:49:14.000000000 +0200
@@ -854,6 +854,10 @@
 
     QString currentPath = themed ? themePath : path;
     themePath.clear();
+    // If imageset colors changed, stylesheetOverride will lways be
+    // invalid, because it contains both the colors it overrides and the
+    // colors it doesn't, which come from imageset colors
+    stylesheetOverride.clear();
     eraseRenderer();
     setImagePath(currentPath);
     q->resize();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksvg-6.26.0/src/ksvg/svg.h 
new/ksvg-6.27.0/src/ksvg/svg.h
--- old/ksvg-6.26.0/src/ksvg/svg.h      2026-05-01 13:55:27.000000000 +0200
+++ new/ksvg-6.27.0/src/ksvg/svg.h      2026-06-05 17:49:14.000000000 +0200
@@ -653,6 +653,8 @@
      */
     void clearColorOverrides();
 
+    bool eventFilter(QObject *watched, QEvent *event) override;
+
 Q_SIGNALS:
     /*!
      * \brief This signal is emitted whenever the SVG data has changed in such 
a
@@ -709,7 +711,6 @@
 
 private:
     SvgPrivate *const d;
-    bool eventFilter(QObject *watched, QEvent *event) override;
 
     Q_PRIVATE_SLOT(d, void imageSetChanged())
     Q_PRIVATE_SLOT(d, void colorsChanged())

Reply via email to