Skip to content

Compare lists using the same sort order

David Edmundson requested to merge work/kservice_fix into master

A recent change to ksycoa rebulids (24e08168) if our cache doesn't match files that exist on the filesystem.

It includes the line:

extraFiles.keys() != KBuildSycoca::factoryExtraFiles()

extraFiles.keys is what is in the cache. As it is in a QMap the return value is alphabetically sorted.

factoryExtraFiles is sorted by insertion order.

factoryExtraFiles just happens to be .config followed by .local for most setups, but it can also include system directories and env variables.

Steps to reproduce: mkdir -p .aaaa/applications touch .aaaa/applications/mimeapps.list

XDG_DATA_HOME=/home/david/.aaaa dolphin debug shows us constantly rebulding before this patch, but not afterwards.

Merge request reports