[SCM] ark packaging branch, master, updated. debian/4.14.2-1-10-g10fd665
Maximiliano Curia
maxy at moszumanska.debian.org
Mon Dec 8 20:58:19 UTC 2014
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-sc/ark.git;a=commitdiff;h=10fd665
The following commit has been merged in the master branch:
commit 10fd66569725713c1f3f47136c2a2b621c0edc08
Author: Maximiliano Curia <maxy at debian.org>
Date: Mon Dec 8 21:58:03 2014 +0100
New upstream patch: upstream_stop_crashing_on_exit properly fixes upstream_remove_part_from_KXMLGUIFactory_on_exit (Closes: #770840) Thanks to Tsu Jan
---
debian/changelog | 4 +-
debian/patches/series | 1 +
debian/patches/upstream_stop_crashing_on_exit | 61 +++++++++++++++++++++++++++
3 files changed, 65 insertions(+), 1 deletion(-)
diff --git a/debian/changelog b/debian/changelog
index d4456a8..3460422 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
ark (4:4.14.2-3~) UNRELEASED; urgency=medium
- *
+ * New upstream patch: upstream_stop_crashing_on_exit properly fixes
+ upstream_remove_part_from_KXMLGUIFactory_on_exit (Closes: #770840)
+ Thanks to Tsu Jan
-- Maximiliano Curia <maxy at debian.org> Mon, 08 Dec 2014 20:58:06 +0100
diff --git a/debian/patches/series b/debian/patches/series
index f3d27d5..8e78926 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
use_libarchive_for_zip_files
upstream_remove_part_from_KXMLGUIFactory_on_exit
+upstream_stop_crashing_on_exit
diff --git a/debian/patches/upstream_stop_crashing_on_exit b/debian/patches/upstream_stop_crashing_on_exit
new file mode 100644
index 0000000..e47b099
--- /dev/null
+++ b/debian/patches/upstream_stop_crashing_on_exit
@@ -0,0 +1,61 @@
+commit 9c30f30b38c36a31e6fcb3aa047a0247ac5a22fb
+Author: Raphael Kubo da Costa <rakuco at FreeBSD.org>
+Date: Mon Nov 24 01:37:06 2014 +0200
+
+ Stop crashing on exit when being used solely as a KPart.
+
+ This change fixes a crash introduced by commit 3b981ca ("Remove Part
+ from KXMLGUIFactory on exit").
+
+ Part::~Part() is the wrong place to call KXMLGUIFactory::removeClient(),
+ as it assumes addClient() had been called in the first place.
+
+ This is only true if Ark is called as a standalone program, since that
+ is done in MainWindow::loadPart()'s call to KXMLGuiWindow::createGUI().
+
+ Conversely, if the Ark KPart is being used as an embedded viewer in,
+ say, Konqueror or to preview an archive inside an archive (ie. Ark
+ inside Ark) that does not hold true and we try to access a
+ KXMLGUIFactory that does not exist.
+
+ Instead, call KXMLGuiWindow::removeClient() in MainWindow's destructor,
+ since in this case we are certain that addClient() was been called
+ before.
+
+ BUG: 341187
+ FIXED-IN: 14.12
+
+diff --git a/app/mainwindow.cpp b/app/mainwindow.cpp
+index aee8231..181fe76 100644
+--- a/app/mainwindow.cpp
++++ b/app/mainwindow.cpp
+@@ -38,6 +38,7 @@
+ #include <KDebug>
+ #include <KEditToolBar>
+ #include <KShortcutsDialog>
++#include <KXMLGUIFactory>
+
+ #include <QDragEnterEvent>
+ #include <QDragMoveEvent>
+@@ -69,6 +70,8 @@ MainWindow::~MainWindow()
+ if (m_recentFilesAction) {
+ m_recentFilesAction->saveEntries(KGlobal::config()->group("Recent Files"));
+ }
++
++ guiFactory()->removeClient(m_part);
+ delete m_part;
+ m_part = 0;
+ }
+diff --git a/part/part.cpp b/part/part.cpp
+index 88f7057..4d5b42f 100644
+--- a/part/part.cpp
++++ b/part/part.cpp
+@@ -139,8 +139,6 @@ Part::Part(QWidget *parentWidget, QObject *parent, const QVariantList& args)
+
+ Part::~Part()
+ {
+- factory()->removeClient(this);
+-
+ qDeleteAll(m_previewDirList);
+
+ saveSplitterSizes();
--
ark packaging
More information about the pkg-kde-commits
mailing list