<table><tr><td style="">graesslin created this revision.<br />graesslin added reviewers: Frameworks, KWin, Plasma.<br />Restricted Application added projects: Plasma on Wayland, Frameworks.<br />Restricted Application added a subscriber: plasma-devel.<br />graesslin requested review of this revision.<br />Restricted Application edited projects, added Plasma; removed Plasma on Wayland.
</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/D10300" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Qt seems to damage and commit child subsurfaces although their parent<br />
got destroyed. This actually doesn't make any sense as without a parent<br />
surface they cannot be shown. But nevertheless we should not crash in<br />
such a situation.</p>
<p>This change guards the places in the commit handling code where the<br />
parent gets accessed.</p>
<p>BUG: 389231</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>New test case which exposes the problem</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R127 KWayland</div></div></div><br /><div><strong>BRANCH</strong><div><div>subsurface-parent-destroyed</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D10300" rel="noreferrer">https://phabricator.kde.org/D10300</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>autotests/client/test_wayland_subsurface.cpp<br />
src/server/subcompositor_interface.cpp<br />
src/server/surface_interface.cpp</div></div></div><br /><div><strong>To: </strong>graesslin, Frameworks, KWin, Plasma<br /><strong>Cc: </strong>plasma-devel, michaelh, ZrenBot, ngraham, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>