<table><tr><td style="">graesslin added a comment.
</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/D7078" rel="noreferrer">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D7078#134111" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;" rel="noreferrer">D7078#134111</a>, <a href="https://phabricator.kde.org/p/davidedmundson/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;" rel="noreferrer">@davidedmundson</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>Isn't the real bug from that trace here:</p>

<p>datadevice_interface.cpp:204<br />
 void DataDeviceInterface::sendSelection(DataDeviceInterface *other)<br />
 d->createDataOffer(other->selection());</p>

<p>it's valid for other->selection() to be null, so this should be guarded there. If I do that your modified unit test passes.</p>

<p>Guarding inside the method I fear will mask future bugs.</p></div>
</blockquote>

<p>Guarding there would be result in incorrect state. We went into sendSelection because there is a selection. That the source is null doesn't really matter. But we have to inform the DDI which gets the selection which selection there is. If not it still operates on outdated data. So I thought it's better to continue there and ensure the DataOffer is created.</p></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/D7078" rel="noreferrer">https://phabricator.kde.org/D7078</a></div></div><br /><div><strong>To: </strong>graesslin, KWin, Plasma, Frameworks<br /><strong>Cc: </strong>davidedmundson, plasma-devel, leezu, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein, lukas<br /></div>