[libreoffice] Resolves: rhbz#1071604 Draw depends on files from libreoffice-impress, crashes without them
David Tardon
dtardon at fedoraproject.org
Fri May 9 13:03:01 UTC 2014
commit 092ba3bf66aeec7b43bad9bb07b75405012eda4e
Author: David Tardon <dtardon at redhat.com>
Date: Fri May 9 13:12:14 2014 +0200
Resolves: rhbz#1071604 Draw depends on files from libreoffice-impress, crashes without them
...4-don-t-crash-if-slide-layout-configs-are.patch | 69 ++++++++++++++++++++
libreoffice.spec | 7 ++-
2 files changed, 75 insertions(+), 1 deletions(-)
---
diff --git a/0001-rhbz-1071604-don-t-crash-if-slide-layout-configs-are.patch b/0001-rhbz-1071604-don-t-crash-if-slide-layout-configs-are.patch
new file mode 100644
index 0000000..d6c0394
--- /dev/null
+++ b/0001-rhbz-1071604-don-t-crash-if-slide-layout-configs-are.patch
@@ -0,0 +1,69 @@
+From df71f13b80c30cb98e310baf8f6aee11f8cbe81d Mon Sep 17 00:00:00 2001
+From: David Tardon <dtardon at redhat.com>
+Date: Fri, 9 May 2014 13:07:33 +0200
+Subject: [PATCH] rhbz#1071604 don't crash if slide layout configs are missing
+
+Change-Id: I5cbf4ed0683cc5736a45fb980827b1b56bd0c74c
+---
+ sd/source/core/drawdoc.cxx | 38 ++++++++++++++++++++++++++------------
+ 1 file changed, 26 insertions(+), 12 deletions(-)
+
+diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx
+index 1de1f33..5904a64 100644
+--- a/sd/source/core/drawdoc.cxx
++++ b/sd/source/core/drawdoc.cxx
+@@ -1008,12 +1008,19 @@ void SdDrawDocument::InitLayoutVector()
+ const Reference<XDocumentBuilder> xDocBuilder(
+ DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) ));
+
+- // loop over every layout entry in current file
+- const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
+- const Reference<XNodeList> layoutlist = xDoc->getElementsByTagName("layout");
+- const int nElements = layoutlist->getLength();
+- for(int index=0; index < nElements; index++)
+- maLayoutInfo.push_back( layoutlist->item(index) );
++ try
++ {
++ // loop over every layout entry in current file
++ const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
++ const Reference<XNodeList> layoutlist = xDoc->getElementsByTagName("layout");
++ const int nElements = layoutlist->getLength();
++ for(int index=0; index < nElements; index++)
++ maLayoutInfo.push_back( layoutlist->item(index) );
++ }
++ catch (const uno::Exception &)
++ {
++ // skip missing config. files
++ }
+ }
+ }
+
+@@ -1037,12 +1044,19 @@ void SdDrawDocument::InitObjectVector()
+ const Reference<XDocumentBuilder> xDocBuilder(
+ DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) ));
+
+- // loop over every object entry in current file
+- const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
+- const Reference<XNodeList> objectlist = xDoc->getElementsByTagName("object");
+- const int nElements = objectlist->getLength();
+- for(int index=0; index < nElements; index++)
+- maPresObjectInfo.push_back( objectlist->item(index) );
++ try
++ {
++ // loop over every object entry in current file
++ const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
++ const Reference<XNodeList> objectlist = xDoc->getElementsByTagName("object");
++ const int nElements = objectlist->getLength();
++ for(int index=0; index < nElements; index++)
++ maPresObjectInfo.push_back( objectlist->item(index) );
++ }
++ catch (const uno::Exception &)
++ {
++ // skip missing config. files
++ }
+ }
+ }
+ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+--
+1.9.0
+
diff --git a/libreoffice.spec b/libreoffice.spec
index 4e7a3c7..b35cff5 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -37,7 +37,7 @@ Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: %{libo_version}.2
-Release: 7%{?libo_prerelease}%{?dist}
+Release: 8%{?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.libreoffice.org/
@@ -303,6 +303,7 @@ Patch42: 0001-center-slide-after-changing-zoom.patch
Patch43: 0001-add-a-status-bar-icon-to-fit-slide-to-window.patch
Patch44: 0001-Related-fdo-50697-reset-the-cache-timeout-on-GetGrap.patch
Patch45: 0001-resolve-fdo-77509-memory-corruption-crash-in-Consoli.patch
+Patch46: 0001-rhbz-1071604-don-t-crash-if-slide-layout-configs-are.patch
%define instdir %{_libdir}
%define baseinstdir %{instdir}/libreoffice
@@ -2266,6 +2267,10 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
%endif
%changelog
+* Fri May 09 2014 David Tardon <dtardon at redhat.com> - 1:4.2.4.2-8
+- Resolves: rhbz#1071604 Draw depends on files from libreoffice-impress, crashes
+ without them
+
* Fri May 09 2014 Eike Rathke <erack at redhat.com> - 1:4.2.4.2-7
- Resolves: fdo#77509 memory corruption / crash in Consolidate
More information about the scm-commits
mailing list