From 24fd814c326e282c4321965c31f341dad77e270d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 8 Jan 2021 11:28:34 +0000 Subject: gentoo resync : 08.01.2021 --- .../files/baloo-5.77.0-no-error-w-o-index.patch | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 kde-frameworks/baloo/files/baloo-5.77.0-no-error-w-o-index.patch (limited to 'kde-frameworks/baloo/files/baloo-5.77.0-no-error-w-o-index.patch') diff --git a/kde-frameworks/baloo/files/baloo-5.77.0-no-error-w-o-index.patch b/kde-frameworks/baloo/files/baloo-5.77.0-no-error-w-o-index.patch new file mode 100644 index 000000000000..d49cc8f6d9d9 --- /dev/null +++ b/kde-frameworks/baloo/files/baloo-5.77.0-no-error-w-o-index.patch @@ -0,0 +1,77 @@ +From d102b01ee59d93de3fe18c12364ea69a85ea723f Mon Sep 17 00:00:00 2001 +From: Christoph Cullmann +Date: Thu, 31 Dec 2020 15:44:40 +0000 +Subject: [PATCH] avoid errors for application startup if no baloo index was + ever created + +use case: + + * a KDE application started e.g. in an non-KDE Plasma environment + * a KDE application started with baloo indexing disabled + +you normally will get: + +kf.kio.slaves.tags: tag fetch failed: "Failed to open the database" +kf.kio.slaves.tags: "tags:/" list() invalid url + +Now this is not issued if no index database exist. +--- + src/engine/database.cpp | 6 ++++++ + src/engine/database.h | 7 +++++++ + src/lib/taglistjob.cpp | 7 +++++++ + 3 files changed, 20 insertions(+) + +diff --git a/src/engine/database.cpp b/src/engine/database.cpp +index 427210d0..ac93426c 100644 +--- a/src/engine/database.cpp ++++ b/src/engine/database.cpp +@@ -247,3 +247,9 @@ QString Database::path() const + QMutexLocker locker(&m_mutex); + return m_path; + } ++ ++bool Database::isAvailable() const ++{ ++ QMutexLocker locker(&m_mutex); ++ return QFileInfo::exists(m_path + QStringLiteral("/index")); ++} +diff --git a/src/engine/database.h b/src/engine/database.h +index 0f43b623..26d21101 100644 +--- a/src/engine/database.h ++++ b/src/engine/database.h +@@ -73,6 +73,13 @@ public: + */ + QString path() const; + ++ /** ++ * Is the database available for use? ++ * For example if indexing is disabled or the indexer did never run this is false. ++ * @return database available ++ */ ++ bool isAvailable() const; ++ + private: + /** + * serialize access, as open might be called from multiple threads +diff --git a/src/lib/taglistjob.cpp b/src/lib/taglistjob.cpp +index cea57889..58945cc7 100644 +--- a/src/lib/taglistjob.cpp ++++ b/src/lib/taglistjob.cpp +@@ -33,7 +33,14 @@ TagListJob::~TagListJob() + void TagListJob::start() + { + Database *db = globalDatabaseInstance(); ++ + if (!db->open(Database::ReadOnlyDatabase)) { ++ // if we have no index, we have no tags ++ if (!db->isAvailable()) { ++ emitResult(); ++ return; ++ } ++ + setError(UserDefinedError); + setErrorText(QStringLiteral("Failed to open the database")); + emitResult(); +-- +GitLab + -- cgit v1.2.3