[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[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: