summaryrefslogtreecommitdiff
path: root/kde-apps/messagelib
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-06-02 21:45:28 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-06-02 21:45:28 +0100
commit2018227e9344edb9da15fc6a4a8298086cc2aa77 (patch)
treec18e1c09e605e94e2a1e93345ad25746cc9e14b9 /kde-apps/messagelib
parent6f8038813c460b4f0572d5ef595cdfa94af3a94d (diff)
gentoo resync : 02.06.2019
Diffstat (limited to 'kde-apps/messagelib')
-rw-r--r--kde-apps/messagelib/Manifest3
-rw-r--r--kde-apps/messagelib/files/messagelib-18.12.3-qtwebengine-5.12.3.patch172
-rw-r--r--kde-apps/messagelib/messagelib-18.12.3-r2.ebuild (renamed from kde-apps/messagelib/messagelib-18.12.3-r1.ebuild)2
3 files changed, 176 insertions, 1 deletions
diff --git a/kde-apps/messagelib/Manifest b/kde-apps/messagelib/Manifest
index a9d2e2653817..de1f5517daad 100644
--- a/kde-apps/messagelib/Manifest
+++ b/kde-apps/messagelib/Manifest
@@ -1,5 +1,6 @@
+AUX messagelib-18.12.3-qtwebengine-5.12.3.patch 6953 BLAKE2B f69a90bedaa477609a464c5430792944cc4eeacd38b90c1d39b6eeb53d880e8551203c9912c539db60bfbd4478803561691dbb15a14ef2ac651dcf8049f78e98 SHA512 0cbf1b934890073083a2ef1a5099a27a8d5e5857b3a0a4690ef2b889650574341d442acda3154a2911eb3ba80319c5fd1fe3c9d50f454cce102a0437157792d2
DIST messagelib-18.12.3.tar.xz 10428172 BLAKE2B 549089a1cbfa3d27b6a69b8efe11299c377bb761b223d4a3e00bbf241dccf29a7e49607b665e565bb11fa5c2b0d54543ab91a42180122664c47f8f38c45c606b SHA512 06ef96514d4d54d0c25114cac358de039874622c307d71bb9bd23e01c6fb665001e22930e2f2ccf7ef4b083544619a8c382ad8c40c8ee227039a9c33b34cf220
DIST messagelib-19.04.1.tar.xz 10451112 BLAKE2B 24509ce59af9bb4de8eafc59d354f86f1e1d50aa431a11240e120f21f5af32ae92a2e247b7ef22eb063df552ae2394edb39539b6f099e25e016272f38452869a SHA512 1e3be1fb0521f49f8e6f9fa006d3ef728fb9f967614527d8768b69ad42a66a46bc36e0f1913b94a36eff1833d1d019a9ef5b91075706a1b7d9c80967b5814dd2
-EBUILD messagelib-18.12.3-r1.ebuild 1918 BLAKE2B 955e593d4ec93be8e02f08065de545f8e641f1af2ea06f290b023dba2040d6aa0ad1f318f9dd09cc8ad691a13f8199068611afa0c47e78b16b070b80a4564b50 SHA512 8babd52045b242a1554782464250ffff0829fd3b529bd5867aec0b8bb24fd9907d804722d3003d1cccf3aff838fa70d24230a3e95babe6cc54af7f03a78ace76
+EBUILD messagelib-18.12.3-r2.ebuild 1988 BLAKE2B 0a1aeb8237c306928d30be394002f98f2dde244db93b22cab1a487bf98a98ae2b2c0084ec3934a924c33553ab0cba44306c257064c02aef93dc97a2bd53b1519 SHA512 e52766970667ee8c186ac0f986ee31d26595fc48cf617c943f3bd075a67c98f715deebb42fdcc6bbd2c9c02864ffa20fa886aeb9f518ebf6f3cccd2d8fe1855a
EBUILD messagelib-19.04.1.ebuild 1906 BLAKE2B 3e76af59153ae82a52abb94a9eee0ee326583a05ad559a9c102d167690dbb45c577cc1b43211911ccaf647eed4033d4cc0dd21e41ab3dcecc256d6162df95f24 SHA512 42d8025849c6252a16b00c19379578aed74ab8c848c3853cbdfaac8daefc8bbcb17b14111a36c7189e7de585f73c5111d2d232dac8bb2bb825ead7d5e09f46de
MISC metadata.xml 249 BLAKE2B ad415db89e5dee1627aa77f44ded9d4e1e5b8217d06c7ca25bbaa3fe92ce67c2b1090957c45a821b407d7927e5af798498aa6a5b903895ee1af8ee20a446c7f7 SHA512 76a5a340b13f0053ca3c5e94ed24380ea8d29b45ac8655419e22eaadb1e4a827c04d2e7e36b65145c4964e6526f656618fc6ac144e277ef53cb7373e6239e3c3
diff --git a/kde-apps/messagelib/files/messagelib-18.12.3-qtwebengine-5.12.3.patch b/kde-apps/messagelib/files/messagelib-18.12.3-qtwebengine-5.12.3.patch
new file mode 100644
index 000000000000..3fdc1527951a
--- /dev/null
+++ b/kde-apps/messagelib/files/messagelib-18.12.3-qtwebengine-5.12.3.patch
@@ -0,0 +1,172 @@
+From 9f0ce086c6a4e487cee1f01acb15290ebff19ac3 Mon Sep 17 00:00:00 2001
+From: Jonathan Marten <jjm@keelhaul.me.uk>
+Date: Tue, 12 Mar 2019 08:47:43 +0000
+Subject: Move management of QWebEngineProfile to WebEnginePage
+
+To avoid a crash on KMail quit or viewer window close, caused by the
+MailWebEnginePage being deleted while its QWebEngineProfile is still
+active. Simplified management of the profile by handling its creation
+and deletion within WebEnginePage.
+
+Deprecate the 2-argument WebEnginePage constructor which allows an
+already allocated profile to be used. This constructor is used by
+Akregator which specifies the global profile; it will be changed to
+use a private profile instead.
+
+Differential Revision: https://phabricator.kde.org/D19559
+---
+ .../src/viewer/webengine/mailwebenginepage.cpp | 10 -------
+ .../src/viewer/webengine/mailwebenginepage.h | 3 +-
+ .../src/viewer/webengine/mailwebengineview.cpp | 3 +-
+ webengineviewer/src/webenginepage.cpp | 22 ++++++++++----
+ webengineviewer/src/webenginepage.h | 35 ++++++++++++++++++++--
+ 5 files changed, 52 insertions(+), 21 deletions(-)
+
+diff --git a/messageviewer/src/viewer/webengine/mailwebenginepage.cpp b/messageviewer/src/viewer/webengine/mailwebenginepage.cpp
+index cd91494..f3790b9 100644
+--- a/messageviewer/src/viewer/webengine/mailwebenginepage.cpp
++++ b/messageviewer/src/viewer/webengine/mailwebenginepage.cpp
+@@ -29,16 +29,6 @@ MailWebEnginePage::MailWebEnginePage(QObject *parent)
+ initialize();
+ }
+
+-MailWebEnginePage::MailWebEnginePage(QWebEngineProfile *profile, QObject *parent)
+- : WebEngineViewer::WebEnginePage(profile, parent)
+-{
+- initialize();
+-}
+-
+-MailWebEnginePage::~MailWebEnginePage()
+-{
+-}
+-
+ void MailWebEnginePage::initialize()
+ {
+ settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, false);
+diff --git a/messageviewer/src/viewer/webengine/mailwebenginepage.h b/messageviewer/src/viewer/webengine/mailwebenginepage.h
+index 7f8e6eb..d581efd 100644
+--- a/messageviewer/src/viewer/webengine/mailwebenginepage.h
++++ b/messageviewer/src/viewer/webengine/mailwebenginepage.h
+@@ -28,8 +28,7 @@ class MESSAGEVIEWER_EXPORT MailWebEnginePage : public WebEngineViewer::WebEngine
+ Q_OBJECT
+ public:
+ explicit MailWebEnginePage(QObject *parent = nullptr);
+- explicit MailWebEnginePage(QWebEngineProfile *profile, QObject *parent = nullptr);
+- ~MailWebEnginePage();
++ virtual ~MailWebEnginePage() = default;
+
+ void setPrintElementBackground(bool printElementBackground);
+
+diff --git a/messageviewer/src/viewer/webengine/mailwebengineview.cpp b/messageviewer/src/viewer/webengine/mailwebengineview.cpp
+index 0685a8d..09224cf 100644
+--- a/messageviewer/src/viewer/webengine/mailwebengineview.cpp
++++ b/messageviewer/src/viewer/webengine/mailwebengineview.cpp
+@@ -34,7 +34,6 @@
+ #include <QContextMenuEvent>
+ #include <WebEngineViewer/WebHitTest>
+
+-#include <QWebEngineProfile>
+ #include <QPrinter>
+
+ #include <WebEngineViewer/WebHitTestResult>
+@@ -81,7 +80,7 @@ MailWebEngineView::MailWebEngineView(KActionCollection *ac, QWidget *parent)
+ : WebEngineViewer::WebEngineView(parent)
+ , d(new MessageViewer::MailWebEngineViewPrivate)
+ {
+- d->mPageEngine = new MailWebEnginePage(new QWebEngineProfile(this), this);
++ d->mPageEngine = new MailWebEnginePage(this);
+ setPage(d->mPageEngine);
+ d->mWebViewAccessKey = new WebEngineViewer::WebEngineAccessKey(this, this);
+ d->mWebViewAccessKey->setActionCollection(ac);
+diff --git a/webengineviewer/src/webenginepage.cpp b/webengineviewer/src/webenginepage.cpp
+index 447ac26..2fcb6c2 100644
+--- a/webengineviewer/src/webenginepage.cpp
++++ b/webengineviewer/src/webenginepage.cpp
+@@ -33,8 +33,24 @@
+ using namespace WebEngineViewer;
+
+ WebEnginePage::WebEnginePage(QObject *parent)
+- : QWebEnginePage(parent)
++ : QWebEnginePage(new QWebEngineProfile, parent)
+ {
++ // Create a private (off the record) QWebEngineProfile here to isolate the
++ // browsing settings, and adopt it as a child so that it will be deleted
++ // when we are destroyed. The profile must remain active for as long as
++ // any QWebEnginePage's belonging to it exist, see the API documentation
++ // of QWebEnginePage::QWebEnginePage(QWebEngineProfile *, QObject *).
++ // Deleting it as our child on destruction is safe.
++ //
++ // Do not try to save a line of code by setting the parent on construction:
++ //
++ // WebEnginePage::WebEnginePage(QObject *parent)
++ // : QWebEnginePage(new QWebEngineProfile(this), parent)
++ //
++ // because the QWebEngineProfile constructor will call out to the QWebEnginePage
++ // and crash because the QWebEnginePage is not fully constructed yet.
++ profile()->setParent(this);
++
+ init();
+ }
+
+@@ -44,10 +60,6 @@ WebEnginePage::WebEnginePage(QWebEngineProfile *profile, QObject *parent)
+ init();
+ }
+
+-WebEnginePage::~WebEnginePage()
+-{
+-}
+-
+ void WebEnginePage::init()
+ {
+ connect(profile(), &QWebEngineProfile::downloadRequested, this, &WebEnginePage::saveHtml);
+diff --git a/webengineviewer/src/webenginepage.h b/webengineviewer/src/webenginepage.h
+index be38368..95c7c76 100644
+--- a/webengineviewer/src/webenginepage.h
++++ b/webengineviewer/src/webenginepage.h
+@@ -31,10 +31,41 @@ class WEBENGINEVIEWER_EXPORT WebEnginePage : public QWebEnginePage
+ {
+ Q_OBJECT
+ public:
++ /**
++ * Constructor.
++ *
++ * A private QWebEngineProfile, only applying to this QWebEnginePage,
++ * will be created to implement browser settings. It can be accessed via
++ * @c profile(), but it should not be shared or reused unless care is
++ * taken that the profile is not deleted until all of the QWebEnginePage's
++ * belonging to it are deleted first.
++ *
++ * @param parent The parent object
++ **/
+ explicit WebEnginePage(QObject *parent = nullptr);
+- explicit WebEnginePage(QWebEngineProfile *profile, QObject *parent = nullptr);
+
+- ~WebEnginePage() override;
++ /**
++ * Constructor.
++ *
++ * The specified QWebEngineProfile will be used. See the description of
++ * @c WebEnginePage(QObject *) and the API documentation of QWebEnginePage
++ * for caution regarding the lifetime of the profile.
++ *
++ * @param profile The profile to be used
++ * @param parent The parent object
++ * @deprecated Use the single argument constructor, which creates and uses
++ * a private profile.
++ **/
++#ifndef WEBENGINEVIEWER_NO_DEPRECATED
++ explicit WEBENGINEVIEWER_DEPRECATED WebEnginePage(QWebEngineProfile *profile, QObject *parent = nullptr);
++#endif
++
++ /**
++ * Destructor. If there is a private QWebEngineProfile then it will also
++ * be destroyed.
++ **/
++ virtual ~WebEnginePage() override = default;
++
+ WebEngineViewer::WebHitTest *hitTestContent(const QPoint &pos);
+
+ void saveHtml(QWebEngineDownloadItem *download);
+--
+cgit v1.1
+
diff --git a/kde-apps/messagelib/messagelib-18.12.3-r1.ebuild b/kde-apps/messagelib/messagelib-18.12.3-r2.ebuild
index 0059d1aa05f1..6dd0db1af4af 100644
--- a/kde-apps/messagelib/messagelib-18.12.3-r1.ebuild
+++ b/kde-apps/messagelib/messagelib-18.12.3-r2.ebuild
@@ -67,3 +67,5 @@ RDEPEND="${DEPEND}
# bug 579630
RESTRICT+=" test"
+
+PATCHES=( "${FILESDIR}/${P}-qtwebengine-5.12.3.patch" ) # bug 686842