<table><tr><td style="">dfaure created this revision.<br />Restricted Application added a project: Frameworks.
</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/D6579" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>It was done in one case (CommandLine) and not the other (Activate), making<br />
things very inconsistent. An empty list of arguments makes QCommandLineParser<br />
fail with a warning (or even exit, when using process() instead of parse()),<br />
so apps would warn or exit unless they had an explicit check for empty list of args.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Since this is a (necessary) behaviour change, I had a look at all the users of KDBusService::Unique I could find.</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">khelpcenter: was exiting due to QCLP::process when started twice, fixed by calling parse() instead, and fixed by this commit.</li>
<li class="remarkup-list-item">konsole: was unconditionally prepending the exe name, but fortunately ignoring positional args, so no behaviour change. Debug output (independent from this commit) : Konsole::Application::slotActivateRequested: ("/usr/bin/konsole", "konsole", "--new-tab")</li>
<li class="remarkup-list-item">plasmawindowed: early exit when called without arguments, so not affected.</li>
<li class="remarkup-list-item">plasma-discover: got a bug report for the QCLP assert (367944), fixed by early return, now unnecessary.</li>
<li class="remarkup-list-item">kfontinst, pim-data-exporter: early return if args list empty, will be ok with going in the if now.</li>
<li class="remarkup-list-item">kleopatra, kalarm: had a check (workaround) for the case of empty argument list, now unnecessary.</li>
<li class="remarkup-list-item">kwalletmanager, bluedevil, systemsettings, krunner, plasma-nm-editor: no parsing of arguments in the slot connected to ActivateRequested, OK</li>
<li class="remarkup-list-item">about 15-20 others: no handling of activateRequested, OK</li>
</ul>

<ul class="remarkup-list">
<li class="remarkup-list-item">kde-print-queue: BUGGY. On second run, it tries to print the queue "kde-print-queue" as well. Can only be fixed by skipping first arg, after relying on this fix.</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R271 KDBusAddons</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D6579" rel="noreferrer">https://phabricator.kde.org/D6579</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/kdbusservice.cpp</div></div></div><br /><div><strong>To: </strong>dfaure, apol, sandsmark, lukas<br /><strong>Cc: </strong>Frameworks<br /></div>