diff --git a/applets/systemtray/systemtraymodel.cpp b/applets/systemtray/systemtraymodel.cpp --- a/applets/systemtray/systemtraymodel.cpp +++ b/applets/systemtray/systemtraymodel.cpp @@ -265,6 +265,12 @@ void SystemTrayModel::addSourceModel(QAbstractItemModel *sourceModel) { - m_roleNames.unite(sourceModel->roleNames()); + QHash roleNames = sourceModel->roleNames(); + for (const int key : roleNames.keys()) { + if (!m_roleNames.contains(key)) { + m_roleNames.insert(key, roleNames.value(key)); + } + } + KConcatenateRowsProxyModel::addSourceModel(sourceModel); }