[libreoffice] 05/25: lp#1418551: add upstream hack to prevent crash on exit
This is an automated email from the git hooks/post-receive script.
sweetshark-guest pushed a commit to branch ubuntu-wily-5.0
in repository libreoffice.
commit f42201a20cd4adec561cdbdd2204ae0db176a343
Author: Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
Date: Tue May 12 17:10:26 2015 +0200
lp#1418551: add upstream hack to prevent crash on exit
---
changelog | 6 ++++++
patches/lp-1418551.diff | 50 +++++++++++++++++++++++++++++++++++++++++++++++++
patches/series | 1 +
3 files changed, 57 insertions(+)
diff --git a/changelog b/changelog
index 4bfe232..24784cb 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,9 @@
+libreoffice (1:4.4.3~rc2-0ubuntu1~vivid3) vivid; urgency=medium
+
+ * add upstream hack to prevent crash on exit (LP: #1418551)
+
+ -- Bjoern Michaelsen <bjoern.michaelsen@canonical.com> Tue, 12 May 2015 15:52:29 +0200
+
libreoffice (1:4.4.3~rc2-0ubuntu1~vivid1) vivid; urgency=medium
* new upstream rc
diff --git a/patches/lp-1418551.diff b/patches/lp-1418551.diff
new file mode 100644
index 0000000..7a94eed
--- /dev/null
+++ b/patches/lp-1418551.diff
@@ -0,0 +1,50 @@
+From be88e305eeac88e51f83efc004d4b60b87f1e757 Mon Sep 17 00:00:00 2001
+From: Michael Stahl <mstahl@redhat.com>
+Date: Tue, 12 May 2015 13:47:38 +0200
+Subject: tdf#90969: basic: add horrible hack to avoid crash due to ...
+
+... the stupid global variable GaDocBasicItems.
+
+Change-Id: Ib849e0e2b661e54005d00091f6d6fc474dc5549b
+
+diff --git a/basic/source/classes/sb.cxx b/basic/source/classes/sb.cxx
+index 559cb3c..a8f1bc6 100644
+--- a/basic/source/classes/sb.cxx
++++ b/basic/source/classes/sb.cxx
+@@ -24,6 +24,7 @@
+ #include <tools/rcid.h>
+ #include <tools/stream.hxx>
+ #include <tools/errinf.hxx>
++#include <tools/solarmutex.hxx>
+ #include <basic/sbx.hxx>
+ #include <tools/rc.hxx>
+ #include <vcl/svapp.hxx>
+@@ -109,10 +110,22 @@ DocBasicItem::DocBasicItem( StarBASIC& rDocBasic ) :
+
+ DocBasicItem::~DocBasicItem()
+ {
+- SolarMutexGuard g;
++ // tdf#90969 HACK: don't use SolarMutexGuard - there is a horrible global
++ // map GaDocBasicItems holding instances, and these get deleted from exit
++ // handlers, when the SolarMutex is already dead
++ tools::SolarMutex::Acquire();
+
+- stopListening();
+- mxClassModules.Clear(); // release with SolarMutex locked
++ try
++ {
++ stopListening();
++ mxClassModules.Clear(); // release with SolarMutex locked
++ }
++ catch (...)
++ {
++ assert(false);
++ }
++
++ tools::SolarMutex::Release();
+ }
+
+ void DocBasicItem::clearDependingVarsOnDelete( StarBASIC& rDeletedBasic )
+--
+cgit v0.10.2
+
diff --git a/patches/series b/patches/series
index cf5fe85..1055094 100644
--- a/patches/series
+++ b/patches/series
@@ -29,3 +29,4 @@ gcj-no-bitness-check.diff
g_strdup_printf_format.diff
lp-753627-readd-updated-Ubuntu-brand-palette-colors.diff
kubuntu_breeze-icons.diff
+lp-1418551.diff
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-openoffice/libreoffice.git
Reply to: