Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-kirigami for openSUSE:Factory checked in at 2025-10-12 22:22:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-kirigami (Old) and /work/SRC/openSUSE:Factory/.kf6-kirigami.new.18484 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-kirigami" Sun Oct 12 22:22:19 2025 rev:26 rq:1310856 version:6.19.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-kirigami/kf6-kirigami.changes 2025-09-15 19:53:13.107887839 +0200 +++ /work/SRC/openSUSE:Factory/.kf6-kirigami.new.18484/kf6-kirigami.changes 2025-10-12 22:23:12.394814429 +0200 @@ -1,0 +2,18 @@ +Tue Oct 7 17:06:20 UTC 2025 - Christophe Marin <[email protected]> + +- Update to 6.19.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.19.0 +- Changes since 6.18.0: + * Update dependency version to 6.19.0 + * Fix incorrect documented type for Theme::useAlternateBackgroundColor + * primitives: Use pre-multiplied blending in ShadowedRectangle shader + * primitives: Use nearest texture filtering if ShadowedTexture::smooth is false + * primitives: Add API to ShaderNode to override texture filtering + * Consider safe area margins for page paddings + * Apply safe area margins to application headers + * [shadermaterial] Fix leaking material types + * Update version to 6.19.0 + +------------------------------------------------------------------- Old: ---- kirigami-6.18.0.tar.xz kirigami-6.18.0.tar.xz.sig New: ---- kirigami-6.19.0.tar.xz kirigami-6.19.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-kirigami.spec ++++++ --- /var/tmp/diff_new_pack.NxsFY4/_old 2025-10-12 22:23:13.174847090 +0200 +++ /var/tmp/diff_new_pack.NxsFY4/_new 2025-10-12 22:23:13.178847257 +0200 @@ -19,11 +19,11 @@ %define qt6_version 6.8.0 %define rname kirigami -# Full KF6 version (e.g. 6.18.0) +# Full KF6 version (e.g. 6.19.0) %{!?_kf6_version: %global _kf6_version %{version}} %bcond_without released Name: kf6-kirigami -Version: 6.18.0 +Version: 6.19.0 Release: 0 Summary: Set of QtQuick components License: LGPL-2.1-or-later ++++++ kirigami-6.18.0.tar.xz -> kirigami-6.19.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/CMakeLists.txt new/kirigami-6.19.0/CMakeLists.txt --- old/kirigami-6.18.0/CMakeLists.txt 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/CMakeLists.txt 2025-10-05 14:37:12.000000000 +0200 @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "6.18.0") # handled by release scripts -set(KF_DEP_VERSION "6.18.0") # handled by release scripts +set(KF_VERSION "6.19.0") # handled by release scripts +set(KF_DEP_VERSION "6.19.0") # handled by release scripts project(kirigami2 VERSION ${KF_VERSION}) @@ -20,7 +20,7 @@ if(DEFINED STATIC_LIBRARY) message(FATAL_ERROR "Use the BUILD_SHARED_LIBS=OFF option to build a static library, STATIC_LIBRARY is no longer a supported option") endif() -find_package(ECM 6.18.0 REQUIRED NO_MODULE) +find_package(ECM 6.19.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) if (NOT ${BUILD_SHARED_LIBS}) @@ -125,7 +125,7 @@ ecm_set_disabled_deprecation_versions( QT 6.2 - KF 6.13.0 + KF 6.18.0 ) if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/poqm/de/libkirigami6_qt.po new/kirigami-6.19.0/poqm/de/libkirigami6_qt.po --- old/kirigami-6.18.0/poqm/de/libkirigami6_qt.po 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/poqm/de/libkirigami6_qt.po 2025-10-05 14:37:12.000000000 +0200 @@ -1,20 +1,20 @@ # SPDX-FileCopyrightText: 2024 Johannes Obermayr <[email protected]> # Frederik Schwarzer <[email protected]>, 2016, 2018, 2020, 2021, 2022, 2023. # Burkhard Lück <[email protected]>, 2017, 2018, 2019, 2020, 2021. -# Alois Spitzbart <[email protected]>, 2021. +# SPDX-FileCopyrightText: 2021, 2025 Alois Spitzbart <[email protected]> # SPDX-FileCopyrightText: 2025 Flori G <[email protected]> msgid "" msgstr "" "Project-Id-Version: libkirigami6_qt\n" -"PO-Revision-Date: 2025-02-22 02:17+0100\n" -"Last-Translator: Flori G <[email protected]>\n" +"PO-Revision-Date: 2025-08-25 21:24+0200\n" +"Last-Translator: Alois Spitzbart <[email protected]>\n" "Language-Team: German <[email protected]>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 24.12.2\n" +"X-Generator: Lokalize 25.04.3\n" "X-Qt-Contexts: true\n" #: controls/AboutItem.qml:162 @@ -152,17 +152,11 @@ msgstr "Passwort anzeigen" #: controls/private/globaltoolbar/NavigationButtons.qml:98 -#, fuzzy -#| msgctxt "BackButton|" -#| msgid "Navigate Back" msgctxt "NavigationButtons|" msgid "Navigate Back" msgstr "Zurück gehen" #: controls/private/globaltoolbar/NavigationButtons.qml:111 -#, fuzzy -#| msgctxt "ForwardButton|" -#| msgid "Navigate Forward" msgctxt "NavigationButtons|" msgid "Navigate Forward" msgstr "Vorwärts gehen" @@ -219,9 +213,6 @@ msgstr "Verknüpfung in die Zwischenablage kopieren" #: dialogs/DialogHeaderTopContent.qml:103 -#, fuzzy -#| msgctxt "InlineMessage|" -#| msgid "Close" msgctxt "DialogHeaderTopContent|@action:button close dialog" msgid "Close" msgstr "Schließen" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/src/controls/Page.qml new/kirigami-6.19.0/src/controls/Page.qml --- old/kirigami-6.18.0/src/controls/Page.qml 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/src/controls/Page.qml 2025-10-05 14:37:12.000000000 +0200 @@ -10,6 +10,7 @@ import QtQuick.Controls as QQC2 import org.kde.kirigami as Kirigami import org.kde.kirigami.primitives as Primitives +import org.kde.kirigami.private.polyfill import "private" as P /*! @@ -28,6 +29,10 @@ //BEGIN properties padding: Kirigami.Units.gridUnit + topPadding: padding + SafeArea.margins.top + bottomPadding: padding + SafeArea.margins.bottom + leftPadding: padding + SafeArea.margins.left + rightPadding: padding + SafeArea.margins.right /*! \brief If the central element of the page is a Flickable diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/src/mnemonicattached.cpp new/kirigami-6.19.0/src/mnemonicattached.cpp --- old/kirigami-6.18.0/src/mnemonicattached.cpp 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/src/mnemonicattached.cpp 2025-10-05 14:37:12.000000000 +0200 @@ -9,7 +9,6 @@ #include <QGuiApplication> #include <QQuickItem> #include <QQuickRenderControl> -#include <QQuickWindow> #include <QRegularExpression> #include <QWindow> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/src/platform/platformtheme.h new/kirigami-6.19.0/src/platform/platformtheme.h --- old/kirigami-6.18.0/src/platform/platformtheme.h 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/src/platform/platformtheme.h 2025-10-05 14:37:12.000000000 +0200 @@ -370,7 +370,7 @@ Q_PROPERTY(QColor hoverColor READ hoverColor WRITE setCustomHoverColor RESET setCustomHoverColor NOTIFY colorsChanged FINAL) /*! - * \qmlattachedproperty color Theme::useAlternateBackgroundColor + * \qmlattachedproperty bool Theme::useAlternateBackgroundColor * * Hint for item views to actually make use of the alternate background color feature. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/src/platform/units.cpp new/kirigami-6.19.0/src/platform/units.cpp --- old/kirigami-6.18.0/src/platform/units.cpp 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/src/platform/units.cpp 2025-10-05 14:37:12.000000000 +0200 @@ -11,7 +11,6 @@ #include <QFontMetrics> #include <QGuiApplication> #include <QQmlComponent> -#include <QQmlEngine> #include <QQuickStyle> #include <QStyleHints> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/src/primitives/scenegraph/shadermaterial.cpp new/kirigami-6.19.0/src/primitives/scenegraph/shadermaterial.cpp --- old/kirigami-6.18.0/src/primitives/scenegraph/shadermaterial.cpp 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/src/primitives/scenegraph/shadermaterial.cpp 2025-10-05 14:37:12.000000000 +0200 @@ -9,8 +9,6 @@ #include <QSGTexture> #include <QVariant> -#include "uniformdatastream.h" - using namespace Qt::StringLiterals; ShaderMaterial::ShaderMaterial(const QString &name) @@ -76,20 +74,40 @@ m_textures[binding] = texture; } +QSGTexture::Filtering ShaderMaterial::textureFiltering(int binding) const +{ + auto texture = m_textures.value(binding); + if (texture) { + return texture->filtering(); + } + + return QSGTexture::Linear; +} + +void ShaderMaterial::setTextureFiltering(int binding, QSGTexture::Filtering filtering) +{ + auto texture = m_textures.value(binding); + if (texture) { + texture->setFiltering(filtering); + } +} + QString ShaderMaterial::nameForType(QSGMaterialType *type) { - return s_materialTypes.key(type, QString{}); + for (auto &[key, value] : s_materialTypes) { + if (value.get() == type) { + return key; + } + } + return QString(); } QSGMaterialType *ShaderMaterial::typeForName(const QString &name) { - if (s_materialTypes.contains(name)) { - return s_materialTypes.value(name); - } else { - auto type = new QSGMaterialType{}; - s_materialTypes.insert(name, type); - return type; + if (!s_materialTypes.contains(name)) { + s_materialTypes[name] = std::make_unique<QSGMaterialType>(); } + return s_materialTypes[name].get(); } ShaderMaterialShader::ShaderMaterialShader(const QString &shaderName) @@ -144,7 +162,6 @@ auto material = static_cast<ShaderMaterial *>(newMaterial); auto source = material->texture(binding); if (source) { - source->setFiltering(QSGTexture::Filtering::Linear); source->commitTextureOperations(state.rhi(), state.resourceUpdateBatch()); *texture = source; } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/src/primitives/scenegraph/shadermaterial.h new/kirigami-6.19.0/src/primitives/scenegraph/shadermaterial.h --- old/kirigami-6.18.0/src/primitives/scenegraph/shadermaterial.h 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/src/primitives/scenegraph/shadermaterial.h 2025-10-05 14:37:12.000000000 +0200 @@ -9,6 +9,7 @@ #include <QColor> #include <QSGMaterial> #include <QSGMaterialShader> +#include <QSGTexture> #include "uniformdatastream.h" @@ -36,6 +37,9 @@ QSGTexture *texture(int binding); void setTexture(int binding, QSGTexture *texture); + QSGTexture::Filtering textureFiltering(int binding) const; + void setTextureFiltering(int binding, QSGTexture::Filtering filtering); + static QString nameForType(QSGMaterialType *type); static QSGMaterialType *typeForName(const QString &name); @@ -46,7 +50,7 @@ QByteArray m_uniformData; QHash<int, QSGTexture *> m_textures; - inline static QHash<QString, QSGMaterialType *> s_materialTypes; + inline static std::unordered_map<QString, std::unique_ptr<QSGMaterialType>> s_materialTypes; }; class ShaderMaterialShader : public QSGMaterialShader diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/src/primitives/scenegraph/shadernode.cpp new/kirigami-6.19.0/src/primitives/scenegraph/shadernode.cpp --- old/kirigami-6.18.0/src/primitives/scenegraph/shadernode.cpp 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/src/primitives/scenegraph/shadernode.cpp 2025-10-05 14:37:12.000000000 +0200 @@ -6,9 +6,6 @@ #include "shadernode.h" -#include <QSGTextureProvider> -#include <QVariant> - #include "shadermaterial.h" #include "texturecache.h" @@ -182,6 +179,8 @@ setUVs(channel, texture->normalizedTextureSubRect()); + texture->setFiltering(QSGTexture::Filtering::Linear); + m_shaderMaterial->setTexture(channel + 1, texture.get()); markDirty(QSGNode::DirtyMaterial); } @@ -217,6 +216,19 @@ } } +void ShaderNode::setTextureFiltering(TextureChannel channel, QSGTexture::Filtering filtering) +{ + auto itr = std::find_if(m_textures.begin(), m_textures.end(), [channel](auto info) { + return info.channel == channel; + }); + if (itr != m_textures.end()) { + itr->filtering = filtering; + if (itr->texture) { + itr->texture->setFiltering(filtering); + } + } +} + void ShaderNode::update() { if (m_geometryUpdateNeeded) { @@ -275,4 +287,5 @@ if (QSGDynamicTexture *dynamic_texture = qobject_cast<QSGDynamicTexture *>(provider->texture())) { dynamic_texture->updateTexture(); } + m_shaderMaterial->setTextureFiltering(info.channel + 1, info.filtering); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/src/primitives/scenegraph/shadernode.h new/kirigami-6.19.0/src/primitives/scenegraph/shadernode.h --- old/kirigami-6.18.0/src/primitives/scenegraph/shadernode.h 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/src/primitives/scenegraph/shadernode.h 2025-10-05 14:37:12.000000000 +0200 @@ -27,6 +27,7 @@ struct TextureInfo { TextureChannel channel = 0; QQuickWindow::CreateTextureOptions options; + QSGTexture::Filtering filtering = QSGTexture::Linear; std::shared_ptr<QSGTexture> texture = nullptr; QPointer<QSGTextureProvider> provider = nullptr; QMetaObject::Connection providerConnection; @@ -112,6 +113,11 @@ void setTexture(TextureChannel channel, QSGTextureProvider *provider, QQuickWindow::CreateTextureOptions options = {}); /*! + * Set the texture filtering mode for texture \a channel to \a filtering. + */ + void setTextureFiltering(TextureChannel channel, QSGTexture::Filtering filtering); + + /*! * Update internal state based on newly-set parameters. * * This is done as an explicit step to ensure we don't modify expensive GPU diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/src/primitives/shaders/shadowedrectangle.frag new/kirigami-6.19.0/src/primitives/shaders/shadowedrectangle.frag --- old/kirigami-6.18.0/src/primitives/shaders/shadowedrectangle.frag 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/src/primitives/shaders/shadowedrectangle.frag 2025-10-05 14:37:12.000000000 +0200 @@ -67,8 +67,9 @@ #ifdef ENABLE_TEXTURE // Sample the texture, then blend it on top of the background color. lowp vec2 texture_uv = ((uv / ubuf.aspect) + (1.0 * inverse_scale)) / (2.0 * inverse_scale); - lowp vec4 texture_color = texture(textureSource, texture_uv); - col = sdf_render(inner_rect, col, texture_color, texture_color.a, sdf_default_smoothing); + lowp vec4 texture_color = sdf_render(inner_rect, vec4(0.0), texture(textureSource, texture_uv)); + // Use premultiplied blending for blending the texture on top of the rect color. + col = texture_color + (1.0 - texture_color.a) * col; #endif out_color = col * ubuf.opacity; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/src/primitives/shadowedtexture.cpp new/kirigami-6.19.0/src/primitives/shadowedtexture.cpp --- old/kirigami-6.18.0/src/primitives/shadowedtexture.cpp 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/src/primitives/shadowedtexture.cpp 2025-10-05 14:37:12.000000000 +0200 @@ -103,6 +103,12 @@ if (m_source) { shaderNode->setTexture(0, m_source->textureProvider()); + + if (smooth()) { + shaderNode->setTextureFiltering(0, QSGTexture::Filtering::Linear); + } else { + shaderNode->setTextureFiltering(0, QSGTexture::Filtering::Nearest); + } } shaderNode->update(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/src/templates/AbstractApplicationHeader.qml new/kirigami-6.19.0/src/templates/AbstractApplicationHeader.qml --- old/kirigami-6.18.0/src/templates/AbstractApplicationHeader.qml 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/src/templates/AbstractApplicationHeader.qml 2025-10-05 14:37:12.000000000 +0200 @@ -8,6 +8,7 @@ import QtQuick.Layouts import QtQuick.Controls as QQC2 import org.kde.kirigami as Kirigami +import org.kde.kirigami.private.polyfill /*! \qmltype AbstractApplicationHeader @@ -72,7 +73,7 @@ /*! */ - property int topPadding: 0 + property int topPadding: pageRow ? pageRow.SafeArea.margins.top : 0 /*! */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kirigami-6.18.0/src/wheelhandler.cpp new/kirigami-6.19.0/src/wheelhandler.cpp --- old/kirigami-6.18.0/src/wheelhandler.cpp 2025-09-08 10:13:20.000000000 +0200 +++ new/kirigami-6.19.0/src/wheelhandler.cpp 2025-10-05 14:37:12.000000000 +0200 @@ -8,7 +8,6 @@ #include "settings.h" #include <QQmlEngine> -#include <QQuickItem> #include <QQuickWindow> #include <QWheelEvent>
