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,14 @@ void SystemTrayModel::addSourceModel(QAbstractItemModel *sourceModel) { - m_roleNames.unite(sourceModel->roleNames()); + QHashIterator it(sourceModel->roleNames()); + while (it.hasNext()) { + it.next(); + + if (!m_roleNames.contains(it.key())) { + m_roleNames.insert(it.key(), it.value()); + } + } + KConcatenateRowsProxyModel::addSourceModel(sourceModel); }