<table><tr><td style="">davidedmundson added inline comments.
</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/D8050" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D8050#inline-33541" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">graesslin</span> wrote in <span style="color: #4b4d51; font-weight: bold;">filtered_display.cpp:41</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">Why a const cast? Or other said: could we overload the getConnection to accept a const wl_client*?</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">I tried.</p>

<p style="padding: 0; margin: 8px;">modding getConnection means modding modding ClientConnection constructor, modding that means modding the Private ctor</p>

<p style="padding: 0; margin: 8px;">that gets into</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">wl_client_add_destroy_listener(c, &listener);</pre></div>

<p style="padding: 0; margin: 8px;">c is now const, that fails.</p>

<hr class="remarkup-hr" />

<p style="padding: 0; margin: 8px;">We have 3 options:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">a const_cast somewhere</li>
<li class="remarkup-list-item">Change Display to create ClientConnections when they come in, not on demand, then we can make getconnection const everywhere. (IMHO, maybe worth it, as our current clientConnected signal is rather misleading)</li>
<li class="remarkup-list-item">return PID in the API here instead of the client.</li>
</ul></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R127 KWayland</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8050" rel="noreferrer">https://phabricator.kde.org/D8050</a></div></div><br /><div><strong>To: </strong>davidedmundson, Plasma<br /><strong>Cc: </strong>graesslin, plasma-devel, Frameworks, leezu, ZrenBot, alexeymin, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein<br /></div>