From 614568e372ccd6f8b832038793a51cab17c6ba00 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Mon, 23 Oct 2023 12:37:06 +0300 Subject: [PATCH] kdecore: fix runtime assert about accessing global static after its destruction Signed-off-by: Ivailo Monev --- kdecore/io/klockfile_unix.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kdecore/io/klockfile_unix.cpp b/kdecore/io/klockfile_unix.cpp index 398f6632..38632eed 100644 --- a/kdecore/io/klockfile_unix.cpp +++ b/kdecore/io/klockfile_unix.cpp @@ -22,6 +22,7 @@ #include "kdebug.h" #include "kde_file.h" +#include #include #include @@ -50,7 +51,10 @@ KLockFilePrivate::KLockFilePrivate() KLockFile::KLockFile(const QString &file) : d(new KLockFilePrivate()) { - d->m_lockfile = QFile::encodeName(KGlobal::dirs()->saveLocation("tmp")); + // NOTE: KConfig may attempt to create KLockFile from its destructor when KGlobal is no more + // thus QStandardPaths::writableLocation() is used here + d->m_lockfile = QFile::encodeName(QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation)); + d->m_lockfile.append('/'); d->m_lockfile.append(QByteArray::number(qHash(file))); d->m_lockfile.append(".klockfile"); }