From a36544f2adab7e7c2100ad37d6f137b64eeb2313 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Jun 06 2013 09:21:21 +0000 Subject: Related: rhbz#908819 crash on start --- diff --git a/0001-rhbz-908819-Don-t-call-code-in-UNO-object-ctor-that-.patch b/0001-rhbz-908819-Don-t-call-code-in-UNO-object-ctor-that-.patch new file mode 100644 index 0000000..d30d6a6 --- /dev/null +++ b/0001-rhbz-908819-Don-t-call-code-in-UNO-object-ctor-that-.patch @@ -0,0 +1,49 @@ +From e7a741e6e471495017d8f6bbf8d73dedf2bf93c9 Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann +Date: Thu, 6 Jun 2013 10:10:21 +0200 +Subject: [PATCH] rhbz#908819: Don't call code in UNO object ctor that throws + UNO exceptions + +...with Context set to this, that leads to refcounting bugs. This is a backport +of the relevant parts of 4e42ce3271154904b7478b9ed5e6e6856b9235c2 "Don't call +code in UNO object ctor that throws UNO exceptions." + +Change-Id: Ie6fdf92fdf537b752cd05ed69c3b59f2c7795e28 +--- + cppuhelper/source/defaultbootstrap.cxx | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/cppuhelper/source/defaultbootstrap.cxx b/cppuhelper/source/defaultbootstrap.cxx +index 7fd1e4a..e027564 100644 +--- a/cppuhelper/source/defaultbootstrap.cxx ++++ b/cppuhelper/source/defaultbootstrap.cxx +@@ -590,13 +590,13 @@ class ServiceManager: + private osl::Mutex, public ServiceManagerBase, private boost::noncopyable + { + public: +- explicit ServiceManager(rtl::OUString const & rdbUris): +- ServiceManagerBase(*static_cast< osl::Mutex * >(this)) +- { readRdbs(rdbUris); } ++ ServiceManager(): ServiceManagerBase(*static_cast< osl::Mutex * >(this)) {} + + using ServiceManagerBase::acquire; + using ServiceManagerBase::release; + ++ void init(rtl::OUString const & rdbUris) { readRdbs(rdbUris); } ++ + void setContext( + css::uno::Reference< css::uno::XComponentContext > const & context) + { +@@ -1996,7 +1996,8 @@ css::uno::Reference< css::uno::XComponentContext > bootstrapComponentContext( + css::uno::Reference< css::registry::XSimpleRegistry > const & typeRegistry, + rtl::OUString const & serviceUris, rtl::Bootstrap const & bootstrap) + { +- rtl::Reference< ServiceManager > smgr(new ServiceManager(serviceUris)); ++ rtl::Reference< ServiceManager > smgr(new ServiceManager); ++ smgr->init(serviceUris); + cppu::ContextEntry_Init entry; + std::vector< cppu::ContextEntry_Init > context_values; + context_values.push_back( +-- +1.8.1.4 + diff --git a/libreoffice.spec b/libreoffice.spec index 9521562..6d36f98 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -44,7 +44,7 @@ Summary: Free Software Productivity Suite Name: libreoffice Epoch: 1 Version: %{libo_version}.2 -Release: 8%{?libo_prerelease}%{?dist} +Release: 9%{?libo_prerelease}%{?dist} License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and Artistic and MPLv2.0 Group: Applications/Productivity URL: http://www.documentfoundation.org/develop @@ -266,6 +266,7 @@ Patch44: 0001-resolved-rhbz-918544-do-not-attempt-to-access-non-ex.patch Patch45: 0001-Related-rhbz-761009-lp-766153-lp-892904-HandleFontOp.patch Patch46: 0001-Resolves-fdo-63802-return-true-if-we-have-known-empt.patch Patch47: 0001-rhbz-961460-Don-t-needlessly-pass-URLs-through-INetU.patch +Patch48: 0001-rhbz-908819-Don-t-call-code-in-UNO-object-ctor-that-.patch %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} %define instdir %{_libdir} @@ -1025,6 +1026,7 @@ mv -f redhat.soc extras/source/palettes/standard.soc %patch45 -p1 -b .rhbz-761009-lp-766153-lp-892904-HandleFontOp.patch %patch46 -p1 -b .fdo-63802-return-true-if-we-have-known-empt.patch %patch47 -p1 -b .rhbz-961460-Don-t-needlessly-pass-URLs-through-INetU.patch +%patch48 -p1 -b .rhbz-908819-Don-t-call-code-in-UNO-object-ctor-that-.patch # TODO: check this # these are horribly incomplete--empty translations and copied english @@ -2294,6 +2296,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || : %endif %changelog +* Thu Jun 06 2013 Stephan Bergmann - 1:3.6.6.2-9 +- Related: rhbz#908819 crash on start + * Fri May 24 2013 Stephan Bergmann - 1:3.6.6.2-8 - Resolves: rhbz#961460 can't save WebDAV (davs) files