mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
kde-frameworks/kirigami: drop 6.16.0-r1
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
DIST kirigami-6.16.0.tar.xz 572800 BLAKE2B 41089c4b8851044a3faed9caa5309140c441f3446d77a9d1b6f50a41c482646001cbe2b31252d82110c866b49b08fbd4fe4384fdf736624048db33c3b19f16ff SHA512 4c75c9597b5416119d821e9b54212169c9275182af5534d7f7ab247e26af248af0ae748550301caf6811f805cdd1392087c002904278774dfa88c82338619529
|
||||
DIST kirigami-6.18.0.tar.xz 575652 BLAKE2B 266cebee2d3492654c51fe4c2783b75939f8b658faa3f900f920a1e42c65c682b31f321019b908a2e5b08bbefacd9a604703ebe1afb57cb7f19a35f548bee6fe SHA512 97ad86fecb8f802dfe1568703544aafe5081485c1e8464a5d898bb66d55eac4a9b92eb56fac4f7b029a9b67198f03cf0c6c9372c6025f3f67cf435692fa0173e
|
||||
DIST kirigami-6.19.0.tar.xz 576876 BLAKE2B 5f468b72143c827e98230ab86184c433b3d171c0a11f5a93fd724df7f4da509482e7e1602cab2f56797714eefe02483f9fc54308eb515a5e13afef275d9b4b89 SHA512 b386c27d36a7833132d1f5899353ee4d680839562bc8180eb4407610a1e89874411d7ca0645348f65eef3d86a02d7eca8d91bc0702c2c6f201406c9e0f93a213
|
||||
DIST kirigami2-5.116.0.tar.xz 383660 BLAKE2B 80252358b33f1876506738d68f233703c15f955dc020709ffb66b75cc7bb13585ac1bb5a7a2076f42909b8a515f5f8cf64fb14a7536aefe8fd42bfd293c66384 SHA512 bb1f7525cb77dc2849bc9782be9b4522b4559b78e8ad88c9cd9953a6d9736cbe63a33a76fadebd9a1fb04f15007e5141aa465991b99117f7c2f26e09c722b66e
|
||||
|
||||
@@ -1,284 +0,0 @@
|
||||
https://bugs.gentoo.org/960298
|
||||
https://bugs.kde.org/show_bug.cgi?id=505670
|
||||
https://bugs.kde.org/show_bug.cgi?id=506991
|
||||
https://invent.kde.org/frameworks/kirigami/-/merge_requests/1884
|
||||
|
||||
From 1289232891ec190b317015fb73debcea373dab1b Mon Sep 17 00:00:00 2001
|
||||
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||||
Date: Mon, 14 Jul 2025 13:56:54 +0300
|
||||
Subject: [PATCH 1/3] Revert "Fix SoftwareRectangleNode leaking image nodes"
|
||||
|
||||
This reverts commit ab359a4feac3e60e19564b2c6d991417459e08a4.
|
||||
---
|
||||
src/primitives/scenegraph/softwarerectanglenode.cpp | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/primitives/scenegraph/softwarerectanglenode.cpp b/src/primitives/scenegraph/softwarerectanglenode.cpp
|
||||
index 5c0c46637..8c7d900ff 100644
|
||||
--- a/src/primitives/scenegraph/softwarerectanglenode.cpp
|
||||
+++ b/src/primitives/scenegraph/softwarerectanglenode.cpp
|
||||
@@ -127,7 +127,6 @@ void SoftwareRectangleNode::preprocess()
|
||||
if (texture) {
|
||||
if (!m_imageNode) {
|
||||
m_imageNode = m_window->createImageNode();
|
||||
- m_imageNode->setFlag(OwnedByParent);
|
||||
}
|
||||
|
||||
// The rect will be set in render().
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 8d96bcc36a40465007857490376559288b2ebcd9 Mon Sep 17 00:00:00 2001
|
||||
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||||
Date: Mon, 14 Jul 2025 13:56:59 +0300
|
||||
Subject: [PATCH 2/3] Revert "Fix ShadowedTexture crashing with software
|
||||
rendering"
|
||||
|
||||
This reverts commit 4dc4e78d26701d5babfec6602ac705912d7e8154.
|
||||
---
|
||||
.../scenegraph/softwarerectanglenode.cpp | 56 +++++++++++--------
|
||||
1 file changed, 33 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/src/primitives/scenegraph/softwarerectanglenode.cpp b/src/primitives/scenegraph/softwarerectanglenode.cpp
|
||||
index 8c7d900ff..13371029b 100644
|
||||
--- a/src/primitives/scenegraph/softwarerectanglenode.cpp
|
||||
+++ b/src/primitives/scenegraph/softwarerectanglenode.cpp
|
||||
@@ -53,6 +53,18 @@ void SoftwareRectangleNode::setImage(const QImage &image)
|
||||
return;
|
||||
}
|
||||
|
||||
+ if (m_imageNode) {
|
||||
+ removeChildNode(m_imageNode);
|
||||
+ delete m_imageNode;
|
||||
+ }
|
||||
+
|
||||
+ m_imageNode = m_window->createImageNode();
|
||||
+ if (!m_imageNode) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ m_imageNode->setFiltering(QSGTexture::Filtering::Linear);
|
||||
+
|
||||
m_textureInfo = ShaderNode::TextureInfo{
|
||||
.channel = 0,
|
||||
.options = {},
|
||||
@@ -60,6 +72,9 @@ void SoftwareRectangleNode::setImage(const QImage &image)
|
||||
.provider = nullptr,
|
||||
.providerConnection = {},
|
||||
};
|
||||
+
|
||||
+ m_imageNode->setTexture(m_textureInfo.texture.get());
|
||||
+ appendChildNode(m_imageNode);
|
||||
}
|
||||
|
||||
void SoftwareRectangleNode::setTextureProvider(QSGTextureProvider *provider)
|
||||
@@ -68,6 +83,18 @@ void SoftwareRectangleNode::setTextureProvider(QSGTextureProvider *provider)
|
||||
return;
|
||||
}
|
||||
|
||||
+ if (m_imageNode) {
|
||||
+ removeChildNode(m_imageNode);
|
||||
+ delete m_imageNode;
|
||||
+ }
|
||||
+
|
||||
+ m_imageNode = m_window->createImageNode();
|
||||
+ if (!m_imageNode) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ m_imageNode->setFiltering(QSGTexture::Filtering::Linear);
|
||||
+
|
||||
m_textureInfo = ShaderNode::TextureInfo{
|
||||
.channel = 0,
|
||||
.options = {},
|
||||
@@ -75,6 +102,9 @@ void SoftwareRectangleNode::setTextureProvider(QSGTextureProvider *provider)
|
||||
.provider = provider,
|
||||
.providerConnection = {},
|
||||
};
|
||||
+
|
||||
+ m_imageNode->setTexture(m_textureInfo.provider->texture());
|
||||
+ appendChildNode(m_imageNode);
|
||||
}
|
||||
|
||||
void SoftwareRectangleNode::setRadius(qreal radius)
|
||||
@@ -114,32 +144,12 @@ QSGRenderNode::RenderingFlags SoftwareRectangleNode::flags() const
|
||||
|
||||
void SoftwareRectangleNode::preprocess()
|
||||
{
|
||||
- QSGTexture *texture = nullptr;
|
||||
- if (QSGTextureProvider *provider = m_textureInfo.provider) {
|
||||
- texture = provider->texture();
|
||||
+ auto provider = m_textureInfo.provider;
|
||||
+ if (provider && m_imageNode) {
|
||||
+ m_imageNode->setTexture(provider->texture());
|
||||
if (QSGDynamicTexture *dynamic_texture = qobject_cast<QSGDynamicTexture *>(provider->texture())) {
|
||||
dynamic_texture->updateTexture();
|
||||
}
|
||||
- } else if (m_textureInfo.texture) {
|
||||
- texture = m_textureInfo.texture.get();
|
||||
- }
|
||||
-
|
||||
- if (texture) {
|
||||
- if (!m_imageNode) {
|
||||
- m_imageNode = m_window->createImageNode();
|
||||
- }
|
||||
-
|
||||
- // The rect will be set in render().
|
||||
- m_imageNode->setFiltering(QSGTexture::Filtering::Linear);
|
||||
- m_imageNode->setTexture(texture);
|
||||
-
|
||||
- if (!m_imageNode->parent()) {
|
||||
- appendChildNode(m_imageNode);
|
||||
- }
|
||||
- } else if (m_imageNode) {
|
||||
- removeChildNode(m_imageNode);
|
||||
- delete m_imageNode;
|
||||
- m_imageNode = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 140067bb3ab57cfcdc0daf0f3964e217cd32d3cd Mon Sep 17 00:00:00 2001
|
||||
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||||
Date: Mon, 14 Jul 2025 14:23:39 +0300
|
||||
Subject: [PATCH 3/3] Fix SoftwareRectangleNode creating QSGImageNode's without
|
||||
texture
|
||||
|
||||
If the texture provider has no texture, the QSGImageNode should be
|
||||
removed from the scene graph, otherwise the renderer will crash.
|
||||
|
||||
BUG: 506991
|
||||
---
|
||||
.../scenegraph/softwarerectanglenode.cpp | 61 +++++++++++--------
|
||||
.../scenegraph/softwarerectanglenode.h | 2 +
|
||||
2 files changed, 38 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/src/primitives/scenegraph/softwarerectanglenode.cpp b/src/primitives/scenegraph/softwarerectanglenode.cpp
|
||||
index 13371029b..31355d9c0 100644
|
||||
--- a/src/primitives/scenegraph/softwarerectanglenode.cpp
|
||||
+++ b/src/primitives/scenegraph/softwarerectanglenode.cpp
|
||||
@@ -54,17 +54,9 @@ void SoftwareRectangleNode::setImage(const QImage &image)
|
||||
}
|
||||
|
||||
if (m_imageNode) {
|
||||
- removeChildNode(m_imageNode);
|
||||
- delete m_imageNode;
|
||||
+ cleanupImageNode();
|
||||
}
|
||||
|
||||
- m_imageNode = m_window->createImageNode();
|
||||
- if (!m_imageNode) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- m_imageNode->setFiltering(QSGTexture::Filtering::Linear);
|
||||
-
|
||||
m_textureInfo = ShaderNode::TextureInfo{
|
||||
.channel = 0,
|
||||
.options = {},
|
||||
@@ -73,8 +65,16 @@ void SoftwareRectangleNode::setImage(const QImage &image)
|
||||
.providerConnection = {},
|
||||
};
|
||||
|
||||
- m_imageNode->setTexture(m_textureInfo.texture.get());
|
||||
- appendChildNode(m_imageNode);
|
||||
+ if (!m_textureInfo.texture) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ m_imageNode = m_window->createImageNode();
|
||||
+ if (m_imageNode) {
|
||||
+ m_imageNode->setTexture(m_textureInfo.texture.get());
|
||||
+ m_imageNode->setFiltering(QSGTexture::Filtering::Linear);
|
||||
+ appendChildNode(m_imageNode);
|
||||
+ }
|
||||
}
|
||||
|
||||
void SoftwareRectangleNode::setTextureProvider(QSGTextureProvider *provider)
|
||||
@@ -84,17 +84,9 @@ void SoftwareRectangleNode::setTextureProvider(QSGTextureProvider *provider)
|
||||
}
|
||||
|
||||
if (m_imageNode) {
|
||||
- removeChildNode(m_imageNode);
|
||||
- delete m_imageNode;
|
||||
+ cleanupImageNode();
|
||||
}
|
||||
|
||||
- m_imageNode = m_window->createImageNode();
|
||||
- if (!m_imageNode) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- m_imageNode->setFiltering(QSGTexture::Filtering::Linear);
|
||||
-
|
||||
m_textureInfo = ShaderNode::TextureInfo{
|
||||
.channel = 0,
|
||||
.options = {},
|
||||
@@ -103,8 +95,7 @@ void SoftwareRectangleNode::setTextureProvider(QSGTextureProvider *provider)
|
||||
.providerConnection = {},
|
||||
};
|
||||
|
||||
- m_imageNode->setTexture(m_textureInfo.provider->texture());
|
||||
- appendChildNode(m_imageNode);
|
||||
+ // The render node will be created in preprocess().
|
||||
}
|
||||
|
||||
void SoftwareRectangleNode::setRadius(qreal radius)
|
||||
@@ -145,11 +136,24 @@ QSGRenderNode::RenderingFlags SoftwareRectangleNode::flags() const
|
||||
void SoftwareRectangleNode::preprocess()
|
||||
{
|
||||
auto provider = m_textureInfo.provider;
|
||||
- if (provider && m_imageNode) {
|
||||
- m_imageNode->setTexture(provider->texture());
|
||||
- if (QSGDynamicTexture *dynamic_texture = qobject_cast<QSGDynamicTexture *>(provider->texture())) {
|
||||
+ if (provider) {
|
||||
+ QSGTexture *texture = provider->texture();
|
||||
+ if (QSGDynamicTexture *dynamic_texture = qobject_cast<QSGDynamicTexture *>(texture)) {
|
||||
dynamic_texture->updateTexture();
|
||||
}
|
||||
+
|
||||
+ if (texture) {
|
||||
+ if (!m_imageNode) {
|
||||
+ m_imageNode = m_window->createImageNode();
|
||||
+ m_imageNode->setTexture(texture);
|
||||
+ m_imageNode->setFiltering(QSGTexture::Filtering::Linear);
|
||||
+ appendChildNode(m_imageNode);
|
||||
+ } else {
|
||||
+ m_imageNode->setTexture(texture);
|
||||
+ }
|
||||
+ } else if (m_imageNode) {
|
||||
+ cleanupImageNode();
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -187,3 +191,10 @@ void SoftwareRectangleNode::render(const RenderState *state)
|
||||
m_imageNode->setRect(withoutCorners);
|
||||
}
|
||||
}
|
||||
+
|
||||
+void SoftwareRectangleNode::cleanupImageNode()
|
||||
+{
|
||||
+ removeChildNode(m_imageNode);
|
||||
+ delete m_imageNode;
|
||||
+ m_imageNode = nullptr;
|
||||
+}
|
||||
diff --git a/src/primitives/scenegraph/softwarerectanglenode.h b/src/primitives/scenegraph/softwarerectanglenode.h
|
||||
index 0e444c295..72898fdcc 100644
|
||||
--- a/src/primitives/scenegraph/softwarerectanglenode.h
|
||||
+++ b/src/primitives/scenegraph/softwarerectanglenode.h
|
||||
@@ -39,6 +39,8 @@ public:
|
||||
void render(const RenderState *state) override;
|
||||
|
||||
private:
|
||||
+ void cleanupImageNode();
|
||||
+
|
||||
QQuickWindow *m_window = nullptr;
|
||||
|
||||
QSGImageNode *m_imageNode = nullptr;
|
||||
--
|
||||
GitLab
|
||||
@@ -1,55 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
ECM_EXAMPLES="true"
|
||||
ECM_QTHELP="false"
|
||||
ECM_TEST="true"
|
||||
QTMIN=6.7.2
|
||||
inherit ecm frameworks.kde.org toolchain-funcs
|
||||
|
||||
DESCRIPTION="Lightweight user interface framework for mobile and convergent applications"
|
||||
HOMEPAGE="https://community.kde.org/Kirigami"
|
||||
|
||||
LICENSE="LGPL-2+"
|
||||
KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv ~x86"
|
||||
IUSE="openmp"
|
||||
|
||||
# requires package to already be installed
|
||||
RESTRICT="test"
|
||||
|
||||
# slot op: Uses Qt6::GuiPrivate for qguiapplication_p.h
|
||||
DEPEND="
|
||||
>=dev-qt/qtbase-${QTMIN}:6=[concurrent,dbus,gui,network]
|
||||
>=dev-qt/qtdeclarative-${QTMIN}:6
|
||||
>=dev-qt/qtsvg-${QTMIN}:6
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
examples? (
|
||||
!${CATEGORY}/${PN}:5[examples(-)]
|
||||
>=dev-qt/qt5compat-${QTMIN}:6[qml]
|
||||
)
|
||||
"
|
||||
BDEPEND=">=dev-qt/qttools-${QTMIN}:6[linguist]"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/kirigami-6.16.0-sw.patch
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_EXAMPLES=$(usex examples)
|
||||
$(cmake_use_find_package openmp OpenMP)
|
||||
)
|
||||
|
||||
ecm_src_configure
|
||||
}
|
||||
Reference in New Issue
Block a user