commit:     a628f1fbc68740bf9a9ea3c829b5df8a6783328c
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 15 13:31:17 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Nov 15 13:46:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a628f1fb

kde-frameworks/solid: fstab: Emit accessibilityChanged only when changed

See also:
https://invent.kde.org/frameworks/solid/-/merge_requests/179

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ....0-accessibilityChanged-only-when-changed.patch | 43 ++++++++++++++++++
 kde-frameworks/solid/solid-5.116.0-r1.ebuild       | 52 ++++++++++++++++++++++
 2 files changed, 95 insertions(+)

diff --git 
a/kde-frameworks/solid/files/solid-5.116.0-accessibilityChanged-only-when-changed.patch
 
b/kde-frameworks/solid/files/solid-5.116.0-accessibilityChanged-only-when-changed.patch
new file mode 100644
index 000000000000..4791f19dfb49
--- /dev/null
+++ 
b/kde-frameworks/solid/files/solid-5.116.0-accessibilityChanged-only-when-changed.patch
@@ -0,0 +1,43 @@
+From d8d9502e5fee9e35ee4b8dc7e5aeabee962fb0c2 Mon Sep 17 00:00:00 2001
+From: Kai Uwe Broulik <[email protected]>
+Date: Wed, 18 Sep 2024 12:37:37 +0200
+Subject: [PATCH] fstab: Emit accessibilityChanged only when actually changed
+
+Otherwise this will signal a change whenever mtab changes,
+leading to redundant updates and wakeups downstream.
+
+Signed-off-by: Kiriakos Antoniadis <[email protected]>
+(cherry picked from commit 493e5e3b919d7e421e5355c43fd5dbdfcdbabaa8)
+---
+ .../devices/backends/fstab/fstabstorageaccess.cpp    | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/src/solid/devices/backends/fstab/fstabstorageaccess.cpp 
b/src/solid/devices/backends/fstab/fstabstorageaccess.cpp
+index 6baaf1d7..5c46cc82 100644
+--- a/src/solid/devices/backends/fstab/fstabstorageaccess.cpp
++++ b/src/solid/devices/backends/fstab/fstabstorageaccess.cpp
+@@ -145,13 +145,17 @@ void FstabStorageAccess::onMtabChanged(const QString 
&device)
+     if (currentMountPoints.isEmpty()) {
+         // device umounted
+         m_filePath = FstabHandling::mountPoints(device).first();
+-        m_isAccessible = false;
+-        Q_EMIT accessibilityChanged(false, QString(FSTAB_UDI_PREFIX) + "/" + 
device);
++        if (m_isAccessible) {
++            m_isAccessible = false;
++            Q_EMIT accessibilityChanged(false, QString(FSTAB_UDI_PREFIX) + 
"/" + device);
++        }
+     } else {
+         // device added
+         m_filePath = currentMountPoints.first();
+-        m_isAccessible = true;
+-        Q_EMIT accessibilityChanged(true, QString(FSTAB_UDI_PREFIX) + "/" + 
device);
++        if (!m_isAccessible) {
++            m_isAccessible = true;
++            Q_EMIT accessibilityChanged(true, QString(FSTAB_UDI_PREFIX) + "/" 
+ device);
++        }
+     }
+ }
+ 
+-- 
+GitLab
+

diff --git a/kde-frameworks/solid/solid-5.116.0-r1.ebuild 
b/kde-frameworks/solid/solid-5.116.0-r1.ebuild
new file mode 100644
index 000000000000..aa3e75dc981d
--- /dev/null
+++ b/kde-frameworks/solid/solid-5.116.0-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+QTMIN=5.15.9
+inherit ecm frameworks.kde.org optfeature
+
+DESCRIPTION="Provider for platform independent hardware discovery, abstraction 
and management"
+
+LICENSE="LGPL-2.1+"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="ios"
+
+RDEPEND="
+       >=dev-qt/qtdbus-${QTMIN}:5
+       >=dev-qt/qtdeclarative-${QTMIN}:5
+       >=dev-qt/qtgui-${QTMIN}:5
+       >=dev-qt/qtxml-${QTMIN}:5
+       sys-apps/util-linux
+       sys-fs/udisks:2
+       virtual/libudev:=
+       ios? (
+               app-pda/libimobiledevice:=
+               app-pda/libplist:=
+       )
+"
+DEPEND="${RDEPEND}
+       test? ( >=dev-qt/qtconcurrent-${QTMIN}:5 )
+"
+BDEPEND="
+       app-alternatives/lex
+       app-alternatives/yacc
+       >=dev-qt/linguist-tools-${QTMIN}:5
+"
+
+PATCHES=( "${FILESDIR}/${P}-accessibilityChanged-only-when-changed.patch" )
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake_use_find_package ios IMobileDevice)
+               $(cmake_use_find_package ios PList)
+       )
+       ecm_src_configure
+}
+
+pkg_postinst() {
+       if [[ -z "${REPLACING_VERSIONS}" ]]; then
+               optfeature "media player devices support" 
app-misc/media-player-info
+       fi
+       ecm_pkg_postinst
+}

Reply via email to