<table><tr><td style="">marten updated this revision to Diff 53340.<br />marten retitled this revision from "Explicitly delete MailWebEnginePage to avoid crash on KMail exit or viewer window close" to "Reassign ownership of QWebEngineProfile in MailWebEnginePage, to avoid crash on KMail exit or viewer window close".<br />marten 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/D19559">View Revision</a></tr></table><br /><div><div><p>Yes, doing that seems to work.  It's not as elegant an implementation as it could be, because the QWebEngineProfile still needs to be created by MailWebEngineView and passed to the MailWebEnginePage which adopts it as a child.  It's not possible to manage the profile entirely within MailWebEnginePage because a profile can only be set when a QWebEnginePage is created, and trying to do that in the constructor:</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);">MailWebEnginePage::MailWebEnginePage(QObject *parent)
  : WebEngineViewer::WebEnginePage(new QWebEngineProfile(this), parent)
{
  initialise();
}</pre></div>

<p>crashes because the profile attempts to call back into the QWebEnginePage which is not fully constructed yet.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R94 PIM: Message Library</div></div></div><br /><div><strong>CHANGES SINCE LAST UPDATE</strong><div><a href="https://phabricator.kde.org/D19559?vs=53282&id=53340">https://phabricator.kde.org/D19559?vs=53282&id=53340</a></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D19559">https://phabricator.kde.org/D19559</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>messageviewer/src/viewer/webengine/mailwebenginepage.cpp<br />
messageviewer/src/viewer/webengine/mailwebenginepage.h<br />
messageviewer/src/viewer/webengine/mailwebengineview.cpp</div></div></div><br /><div><strong>To: </strong>marten, KDE PIM<br /><strong>Cc: </strong>dvratil, kde-pim, dvasin, rodsevich, winterz, vkrause, mlaurent, knauss<br /></div>