sitter created this revision. sitter added a reviewer: broulik. Restricted Application added a project: Plasma. Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY after the recent set of changes to disqualification we ended up with a bit too lax disqualification. if we saw the exec OR the storageid we'd hence forth disqualify a service with either of them being equal. in case of system settings this causes a match problem. systemsettings has two desktop files one !KDE and one OnlyKDE they are however exactly the same except for a different name and storageid. as a result if the !KDE one is encountered first it will be disqualified on account of noDisplay=true and marked as seen. when the OnlyKDE systemsettings is then iterated it will already have the Exec entry in the seen list and be disqualified on account of that. to prevent this type of confusion make it a requirement to match both storageid AND exec before disqualifying. it may actually be suitable to drop the exec altogether. say I copy firefox into the user local applications dir and set it NoDisplay=true but change the exec. this would still lead to the system-wide firefox being found as it is not getting disqualified. long story short: maybe we should disqualify services solely on the storageid? TEST PLAN - new autotest case - fails without changes - passes with changes REPOSITORY R120 Plasma Workspace BRANCH Plasma/5.9 REVISION DETAIL https://phabricator.kde.org/D4415 AFFECTED FILES runners/services/autotests/fixtures/kdesystemsettings.desktop runners/services/autotests/fixtures/systemsettings.desktop runners/services/autotests/servicerunnertest.cpp runners/services/servicerunner.cpp EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: sitter, broulik Cc: plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas