static void filterMimeTypeOffers(KService::List& list, const QString& genericServiceType) { KServiceType::Ptr genericServiceTypePtr = KServiceType::serviceType(genericServiceType); CHECK_SERVICETYPE(genericServiceTypePtr); QMutableListIterator<KService::Ptr> it(list); while(it.hasNext()) { const KService::Ptr servPtr = it.next(); // Expand servPtr->hasServiceType( genericServiceTypePtr ) to avoid lookup each time: if (!KServiceFactory::self()->hasOffer(genericServiceTypePtr->offset(), genericServiceTypePtr->serviceOffersOffset(), servPtr->offset()) || !servPtr->showInKDE()) { it.remove(); } } }