<table><tr><td style="">davidedmundson 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/D20859">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>You are saying "this" (parent window of dialog) is deleted out from under KMessageBox while it is in a waiting state?</p></blockquote>

<p>~ish</p>

<p>We know KJob calls deleteLater at the end of KJob::exec()<br />
We know KMessageBox spawns a new event loop<br />
I think it's deleting your job when that new event loop starts.</p>

<p>Normally there is magic guarding of deferred deletion inside nested event loops. <br />
However because app.exec() isn't running, it's not nested, it's the primary event loop.</p>

<p>But we can find out.</p>

<p>put a breakpoint on  KAuth::ExecuteJob~ExecuteJob in gdb <br />
and try to trigger your crash.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R123 SDDM Configuration Panel (KCM)</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D20859">https://phabricator.kde.org/D20859</a></div></div><br /><div><strong>To: </strong>johngehrig, ngraham, davidedmundson, Plasma<br /><strong>Cc: </strong>anthonyfieroni, plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>