Resolves: rhbz#1071604 Draw depends on files from libreoffice-impress, crashes without them
This commit is contained in:
parent
075709e31d
commit
092ba3bf66
@ -0,0 +1,69 @@
|
||||
From df71f13b80c30cb98e310baf8f6aee11f8cbe81d Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@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
|
||||
|
@ -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@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@redhat.com> - 1:4.2.4.2-7
|
||||
- Resolves: fdo#77509 memory corruption / crash in Consolidate
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user