Skip to content

Postpone processing KSycoca to the next event loop cycle

KSycoca::databaseChanged() signal can be emitted when refreshServices() calls KService::serviceByStorageId().

That is not good because refreshServices() will be called recursively and potentially invalidate m_components iterators in the first refreshServices().

Instead, postpone processing ksycoca database changes.

Merge request reports