kde-apps/akregator: Try to fix feedlist corruption and crashes
authorAndreas Sturmlechner <asturm@gentoo.org>
Sun, 11 Feb 2018 22:14:17 +0000 (23:14 +0100)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sun, 11 Feb 2018 22:14:53 +0000 (23:14 +0100)
Bug: https://bugs.gentoo.org/629548
Package-Manager: Portage-2.3.24, Repoman-2.3.6

kde-apps/akregator/akregator-17.12.2.ebuild
kde-apps/akregator/files/akregator-17.12.2-crashfix.patch [new file with mode: 0644]
kde-apps/akregator/files/akregator-17.12.2-feedlist-corruption.patch [new file with mode: 0644]

index 861bc0c9dc32b23150958239ffe3b64eeaacb623..a9886e67a926cb44d6347956779227f5f4af0ec8 100644 (file)
@@ -53,3 +53,8 @@ DEPEND="${COMMON_DEPEND}
 RDEPEND="${COMMON_DEPEND}
        !kde-apps/kdepim-l10n
 "
+
+PATCHES=(
+       "${FILESDIR}/${P}-crashfix.patch"
+       "${FILESDIR}/${P}-feedlist-corruption.patch"
+)
diff --git a/kde-apps/akregator/files/akregator-17.12.2-crashfix.patch b/kde-apps/akregator/files/akregator-17.12.2-crashfix.patch
new file mode 100644 (file)
index 0000000..c8c872f
--- /dev/null
@@ -0,0 +1,16 @@
+diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
+index fd533ecd..2733b273 100644
+--- a/src/mainwindow.cpp
++++ b/src/mainwindow.cpp
+@@ -137,9 +137,7 @@ MainWindow::~MainWindow()
+ void MainWindow::saveProperties(KConfigGroup &config)
+ {
+     if (!m_part) {
+-        if (!loadPart()) {
+-            return;
+-        }
++        return;
+     }
+ 
+     m_part->saveProperties(config);
+
diff --git a/kde-apps/akregator/files/akregator-17.12.2-feedlist-corruption.patch b/kde-apps/akregator/files/akregator-17.12.2-feedlist-corruption.patch
new file mode 100644 (file)
index 0000000..eefd844
--- /dev/null
@@ -0,0 +1,17 @@
+diff --git a/src/akregator_part.cpp b/src/akregator_part.cpp
+index 94a4e00..3d2d778 100644
+--- a/src/akregator_part.cpp
++++ b/src/akregator_part.cpp
+@@ -514,6 +514,11 @@ void Part::slotSaveFeedList()
+     if (!m_standardListLoaded) {
+         return;
+     }
++
++    QSharedPointer<FeedList> f_list = m_mainWidget->allFeedsList();
++    if (f_list.isNull()) {
++      return;
++    }
+ 
+     // the first time we overwrite the feed list, we create a backup
+     if (!m_backedUpList) {
+