kded: crash fix for the case when QT_FOREACH_COMPAT is not defined

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2022-10-27 11:24:55 +03:00
parent 9cac859359
commit 107dd27063

View file

@ -113,11 +113,14 @@ VFolderMenu::includeItems(QHash<QString,KService::Ptr>& items1, const QHash<QStr
void void
VFolderMenu::matchItems(QHash<QString,KService::Ptr>& items1, const QHash<QString,KService::Ptr>& items2) VFolderMenu::matchItems(QHash<QString,KService::Ptr>& items1, const QHash<QString,KService::Ptr>& items2)
{ {
foreach (const KService::Ptr &p, items1) QHash<QString,KService::Ptr>::iterator it = items1.begin();
{ while (it != items1.end()) {
QString id = p->menuId(); QString id = (*it)->menuId();
if (!items2.contains(id)) if (!items2.contains(id)) {
items1.remove(id); it = items1.erase(it);
} else {
it++;
}
} }
} }