[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