commit:     b38e359348f8e7362532e19eb3e602348f9b5554
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 15 22:03:38 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Dec 16 09:46:59 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b38e3593

kde-apps/akregator: Fix crash with Qt-5.11+

KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=371511
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-apps/akregator/akregator-18.12.0-r1.ebuild     | 57 +++++++++++++++
 .../files/akregator-18.12.0-qt-5.11-crashfix.patch | 81 ++++++++++++++++++++++
 2 files changed, 138 insertions(+)

diff --git a/kde-apps/akregator/akregator-18.12.0-r1.ebuild 
b/kde-apps/akregator/akregator-18.12.0-r1.ebuild
new file mode 100644
index 00000000000..d1132436997
--- /dev/null
+++ b/kde-apps/akregator/akregator-18.12.0-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_HANDBOOK="forceoptional"
+KDE_TEST="forceoptional"
+inherit kde5
+
+DESCRIPTION="News feed aggregator"
+HOMEPAGE="https://www.kde.org/applications/internet/akregator";
+LICENSE="GPL-2+ handbook? ( FDL-1.2+ )"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+COMMON_DEPEND="
+       $(add_frameworks_dep kcmutils)
+       $(add_frameworks_dep kcodecs)
+       $(add_frameworks_dep kcompletion)
+       $(add_frameworks_dep kconfig)
+       $(add_frameworks_dep kconfigwidgets)
+       $(add_frameworks_dep kcoreaddons)
+       $(add_frameworks_dep kcrash)
+       $(add_frameworks_dep ki18n)
+       $(add_frameworks_dep kiconthemes)
+       $(add_frameworks_dep kio)
+       $(add_frameworks_dep kjobwidgets)
+       $(add_frameworks_dep knotifications)
+       $(add_frameworks_dep knotifyconfig)
+       $(add_frameworks_dep kparts)
+       $(add_frameworks_dep kservice)
+       $(add_frameworks_dep ktextwidgets)
+       $(add_frameworks_dep kwidgetsaddons)
+       $(add_frameworks_dep kxmlgui)
+       $(add_frameworks_dep syndication)
+       $(add_kdeapps_dep grantleetheme)
+       $(add_kdeapps_dep kontactinterface)
+       $(add_kdeapps_dep kpimtextedit)
+       $(add_kdeapps_dep libkdepim)
+       $(add_kdeapps_dep messagelib)
+       $(add_kdeapps_dep pimcommon)
+       $(add_qt_dep qtdbus)
+       $(add_qt_dep qtgui)
+       $(add_qt_dep qtnetwork)
+       $(add_qt_dep qtwebengine)
+       $(add_qt_dep qtwidgets)
+       $(add_qt_dep qtxml)
+"
+DEPEND="${COMMON_DEPEND}
+       dev-libs/grantlee:5
+"
+RDEPEND="${COMMON_DEPEND}
+       !kde-apps/kdepim-l10n
+"
+
+PATCHES=( "${FILESDIR}/${P}-qt-5.11-crashfix.patch" )

diff --git a/kde-apps/akregator/files/akregator-18.12.0-qt-5.11-crashfix.patch 
b/kde-apps/akregator/files/akregator-18.12.0-qt-5.11-crashfix.patch
new file mode 100644
index 00000000000..f13512117a9
--- /dev/null
+++ b/kde-apps/akregator/files/akregator-18.12.0-qt-5.11-crashfix.patch
@@ -0,0 +1,81 @@
+From 91a4ab57a82970bd75eee4a7aee61a7e1c1321ef Mon Sep 17 00:00:00 2001
+From: Andras Mantia <and...@kdab.com>
+Date: Thu, 13 Dec 2018 17:32:52 +0200
+Subject: Don't crash with Qt 5.11+
+
+Summary:
+Based on the patch from https://bugs.kde.org/show_bug.cgi?id=371511
+See also https://bugreports.qt.io/browse/QTBUG-72260
+
+BUG: 371511
+
+Reviewers: PHID-PROJ-odxxyyfgujhgbu6ergrt, mlaurent
+
+Reviewed By: PHID-PROJ-odxxyyfgujhgbu6ergrt, mlaurent
+
+Subscribers: marten, asturmlechner, kfunk, kde-pim
+
+Tags: #kde_pim
+
+Differential Revision: https://phabricator.kde.org/D17563
+---
+ .../webengine/articleviewerwebengine.cpp           | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/src/articleviewer-ng/webengine/articleviewerwebengine.cpp 
b/src/articleviewer-ng/webengine/articleviewerwebengine.cpp
+index 2463fdf..174c09a 100644
+--- a/src/articleviewer-ng/webengine/articleviewerwebengine.cpp
++++ b/src/articleviewer-ng/webengine/articleviewerwebengine.cpp
+@@ -46,6 +46,7 @@
+ #include <QMenu>
+ #include <viewerplugintoolmanager.h>
+ #include <QWebEngineProfile>
++#include <QWebEngineUrlRequestInterceptor>
+ 
+ #include <WebEngineViewer/WebHitTestResult>
+ #include <WebEngineViewer/WebHitTest>
+@@ -57,6 +58,19 @@
+ 
+ using namespace Akregator;
+ 
++class AkregatorRequestInterceptor : public QWebEngineUrlRequestInterceptor
++{
++    Q_OBJECT
++
++public:
++    explicit AkregatorRequestInterceptor(QObject *parent = nullptr) : 
QWebEngineUrlRequestInterceptor(parent) {
++    }
++
++    void interceptRequest(QWebEngineUrlRequestInfo &info) override {
++        Q_UNUSED(info);
++    }
++};
++
+ ArticleViewerWebEngine::ArticleViewerWebEngine(KActionCollection *ac, QWidget 
*parent)
+     : WebEngineViewer::WebEngineView(parent)
+     , mActionCollection(ac)
+@@ -64,10 +78,16 @@ 
ArticleViewerWebEngine::ArticleViewerWebEngine(KActionCollection *ac, QWidget *p
+     , mViewerPluginToolManager(nullptr)
+ {
+     mNetworkAccessManager = new WebEngineViewer::InterceptorManager(this, ac, 
this);
++
+     QWebEngineProfile *profile = QWebEngineProfile::defaultProfile();
+     mPageEngine = new ArticleViewerWebEnginePage(profile, this);
+     
profile->setPersistentCookiesPolicy(QWebEngineProfile::ForcePersistentCookies);
+ 
++    // Needed to workaround crash in webengine, see 
https://bugreports.qt.io/browse/QTBUG-72260
++    auto webEngineUrlInterceptor = new AkregatorRequestInterceptor();
++    profile->setRequestInterceptor(webEngineUrlInterceptor);
++    connect(profile, &QObject::destroyed, webEngineUrlInterceptor, 
&AkregatorRequestInterceptor::deleteLater);
++
+     setPage(mPageEngine);
+ 
+     connect(this, &ArticleViewerWebEngine::showContextMenu, this, 
&ArticleViewerWebEngine::slotShowContextMenu);
+@@ -494,3 +514,5 @@ void 
ArticleViewerWebEngine::slotActivatePlugin(MessageViewer::ViewerPluginInter
+     interface->setUrl(mCurrentUrl);
+     interface->execute();
+ }
++
++#include "articleviewerwebengine.moc"
+-- 
+cgit v1.1

Reply via email to