<table><tr><td style="">dvratil 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/D7285" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>Open the editor window, then open the import wizard. Now close the editor window (through any means) and then close/accept the import wizard and it will crash. When you close the <tt style="background: #ebebeb; font-size: 13px;">SieveEditorMainWindow</tt> it is deleted, which in turn deletes the <tt style="background: #ebebeb; font-size: 13px;">ImportImapSettingWizard</tt> because we passed the <tt style="background: #ebebeb; font-size: 13px;">SieveEditorMainWindow</tt> as its parent. This won't, however, quit the wizard. When you close the wizard and the code returns from <tt style="background: #ebebeb; font-size: 13px;">slotImportImapSettings()</tt>, the <tt style="background: #ebebeb; font-size: 13px;">w</tt> variable will go out-of-scope, causing <tt style="background: #ebebeb; font-size: 13px;">ImportImapSettingWizard</tt>'s destructor to be called <strong>again</strong> -> booom :-)</p>
<p>IOW anything that uses nested QEventLoops shouldn't be created on the stack and should be guarded by QPointer.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R213 PIM Sieve Editor</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7285" rel="noreferrer">https://phabricator.kde.org/D7285</a></div></div><br /><div><strong>To: </strong>winterz, mlaurent<br /><strong>Cc: </strong>dvratil, dkurz, KDE PIM, dvasin, winterz, vkrause, mlaurent, knauss<br /></div>