Commit 35b4c6d4 authored by Martin Tobias Holmedahl Sandsmark's avatar Martin Tobias Holmedahl Sandsmark
Browse files

Fix crashing on starting and quitting

QCollator (especially with Qt 5.14 and ICU 65.1) is very unhappy with

To avoid having to lock and unlock the mutex everywhere (and ensure it
is unlocked before calling other things that might lock it, etc.), we do
it as locally as possible. Even if for some reason Qt and ICU make
QCollator threadsafe in the future locking here should have minimal

BUG: 419585

Differential Revision:
parent d868568d
......@@ -33,6 +33,9 @@
#include <QMimeData>
#include <QTimer>
#include <QWidget>
#include <QMutex>
Q_GLOBAL_STATIC_WITH_ARGS(QMutex, s_collatorMutex, (QMutex::Recursive))
......@@ -1878,6 +1881,8 @@ int KFileItemModel::sortRoleCompare(const ItemData* a, const ItemData* b, const
int KFileItemModel::stringCompare(const QString& a, const QString& b, const QCollator& collator) const
QMutexLocker collatorLock(s_collatorMutex());
if (m_naturalSorting) {
return, b);
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment