<table><tr><td style="">sitter created this revision.<br />sitter added a reviewer: broulik.<br />Restricted Application added a project: Plasma.<br />Restricted Application added a subscriber: plasma-devel.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D4415" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>after the recent set of changes to disqualification we ended up with a bit<br />
too lax disqualification. if we saw the exec OR the storageid we'd<br />
hence forth disqualify a service with either of them being equal.</p>

<p>in case of system settings this causes a match problem. systemsettings<br />
has two desktop files one !KDE and one OnlyKDE they are however exactly<br />
the same except for a different name and storageid. as a result if the !KDE<br />
one is encountered first it will be disqualified on account of<br />
noDisplay=true and marked as seen. when the OnlyKDE systemsettings is then<br />
iterated it will already have the Exec entry in the seen list and be<br />
disqualified on account of that.</p>

<p>to prevent this type of confusion make it a requirement to match both<br />
storageid AND exec before disqualifying.</p>

<p>it may actually be suitable to drop the exec altogether. say I copy firefox<br />
into the user local applications dir and set it NoDisplay=true but change<br />
the exec. this would still lead to the system-wide firefox being found as<br />
it is not getting disqualified. long story short: maybe we should<br />
disqualify services solely on the storageid?</p></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">new autotest case</li>
<li class="remarkup-list-item">fails without changes</li>
<li class="remarkup-list-item">passes with changes</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>BRANCH</strong><div><div>Plasma/5.9</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D4415" rel="noreferrer">https://phabricator.kde.org/D4415</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>runners/services/autotests/fixtures/kdesystemsettings.desktop<br />
runners/services/autotests/fixtures/systemsettings.desktop<br />
runners/services/autotests/servicerunnertest.cpp<br />
runners/services/servicerunner.cpp</div></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>sitter, broulik<br /><strong>Cc: </strong>plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas<br /></div>