kde-apps/akregator: Fix file corruption, crashes

Package-Manager: Portage-2.3.8, Repoman-2.3.3
This commit is contained in:
Andreas Sturmlechner
2017-09-13 19:57:49 +02:00
parent a6ecd9ef5f
commit 306013b2e3
2 changed files with 102 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
# Copyright 1999-2017 Gentoo Foundation
# 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=""
# drop qtwebengine subslot operator when QT_MINIMAL >= 5.8.0
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_kdeapps_dep grantleetheme)
$(add_kdeapps_dep kontactinterface)
$(add_kdeapps_dep kpimtextedit)
$(add_kdeapps_dep libkdepim)
$(add_kdeapps_dep messagelib)
$(add_kdeapps_dep pimcommon)
$(add_kdeapps_dep syndication)
$(add_qt_dep qtdbus)
$(add_qt_dep qtgui)
$(add_qt_dep qtnetwork)
$(add_qt_dep qtwebengine '' '' '5=')
$(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}-corruption.patch" )

View File

@@ -0,0 +1,44 @@
From d0a5f4159cddcca656ca8bbcbd6e551e3499c166 Mon Sep 17 00:00:00 2001
From: Anthony Fieroni <bvbfan@abv.bg>
Date: Sun, 10 Sep 2017 21:59:35 +0300
Subject: [akregator] Make sure part is created before main windows is restored
DIfferential Revision: https://phabricator.kde.org/D6739
BUG: 381822
BUG: 378513
BUG: 381825
BUG: 377129
Signed-off-by: Anthony Fieroni <bvbfan@abv.bg>
---
src/main.cpp | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/src/main.cpp b/src/main.cpp
index b80b198..aa1bb08 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -113,14 +113,11 @@ int main(int argc, char **argv)
// see if we are starting with session management
if (app.isSessionRestored()) {
-#undef RESTORE
-#define RESTORE(type) { int n = 1; \
- while (KMainWindow::canBeRestored(n)) { \
- (new type)->restore(n, false); \
- n++;} \
-}
-
- RESTORE(Akregator::MainWindow);
+ auto mainWindow = new Akregator::MainWindow();
+ mainWindow->loadPart();
+ if (KMainWindow::canBeRestored(1)) {
+ mainWindow->restore(1, false);
+ }
}
return app.exec();
--
cgit v0.11.2