[libreoffice] Resolves: rhbz#710556 't crash on missing graphics .pptx export
Caolan McNamara
caolanm at fedoraproject.org
Tue Jun 7 11:44:12 UTC 2011
commit 85eb1dd584497ff4c1a61279fe43e0fca9951f3d
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Jun 7 12:43:44 2011 +0100
Resolves: rhbz#710556 't crash on missing graphics .pptx export
...bz-710556-don-t-crash-on-missing-graphics.patch | 111 ++++++++++++++++++++
libreoffice.spec | 7 +-
2 files changed, 117 insertions(+), 1 deletions(-)
---
diff --git a/0001-Resolves-rhbz-710556-don-t-crash-on-missing-graphics.patch b/0001-Resolves-rhbz-710556-don-t-crash-on-missing-graphics.patch
new file mode 100644
index 0000000..ccbf676
--- /dev/null
+++ b/0001-Resolves-rhbz-710556-don-t-crash-on-missing-graphics.patch
@@ -0,0 +1,111 @@
+From b883b506e2d4dca419838b56915c58a0030d5b98 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm at redhat.com>
+Date: Tue, 7 Jun 2011 12:37:08 +0100
+Subject: [PATCH] Resolves: rhbz#710556 don't crash on missing graphics
+
+---
+ oox/source/export/drawingml.cxx | 28 ++++++++++++++--------------
+ 1 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
+index 4e94e90..7cf8d98 100644
+--- a/oox/source/export/drawingml.cxx
++++ b/oox/source/export/drawingml.cxx
+@@ -469,7 +469,7 @@ OUString DrawingML::WriteImage( const Graphic& rGraphic )
+ {
+ GfxLink aLink = rGraphic.GetLink ();
+ OUString sMediaType;
+- const char* sExtension = NULL;
++ const char* pExtension = "";
+ OUString sRelId;
+
+ SvMemoryStream aStream;
+@@ -479,42 +479,42 @@ OUString DrawingML::WriteImage( const Graphic& rGraphic )
+ switch ( aLink.GetType() ) {
+ case GFX_LINK_TYPE_NATIVE_GIF:
+ sMediaType = US( "image/gif" );
+- sExtension = ".gif";
++ pExtension = ".gif";
+ break;
+ case GFX_LINK_TYPE_NATIVE_JPG:
+ sMediaType = US( "image/jpeg" );
+- sExtension = ".jpeg";
++ pExtension = ".jpeg";
+ break;
+ case GFX_LINK_TYPE_NATIVE_PNG:
+ sMediaType = US( "image/png" );
+- sExtension = ".png";
++ pExtension = ".png";
+ break;
+ case GFX_LINK_TYPE_NATIVE_TIF:
+ sMediaType = US( "image/tiff" );
+- sExtension = ".tiff";
++ pExtension = ".tiff";
+ break;
+ case GFX_LINK_TYPE_NATIVE_WMF:
+ sMediaType = US( "image/x-wmf" );
+- sExtension = ".wmf";
++ pExtension = ".wmf";
+ break;
+ case GFX_LINK_TYPE_NATIVE_MET:
+ sMediaType = US( "image/x-met" );
+- sExtension = ".met";
++ pExtension = ".met";
+ break;
+ case GFX_LINK_TYPE_NATIVE_PCT:
+ sMediaType = US( "image/x-pict" );
+- sExtension = ".pct";
++ pExtension = ".pct";
+ break;
+ default: {
+ GraphicType aType = rGraphic.GetType();
+ if ( aType == GRAPHIC_BITMAP ) {
+ GraphicConverter::Export( aStream, rGraphic, CVT_PNG );
+ sMediaType = US( "image/png" );
+- sExtension = ".png";
++ pExtension = ".png";
+ } else if ( aType == GRAPHIC_GDIMETAFILE ) {
+ GraphicConverter::Export( aStream, rGraphic, CVT_EMF );
+ sMediaType = US( "image/x-emf" );
+- sExtension = ".emf";
++ pExtension = ".emf";
+ } else {
+ OSL_TRACE( "unhandled graphic type" );
+ break;
+@@ -526,7 +526,7 @@ OUString DrawingML::WriteImage( const Graphic& rGraphic )
+ }
+ }
+
+- const char *pComponent = NULL;
++ const char *pComponent = "";
+ switch ( meDocumentType )
+ {
+ case DOCUMENT_DOCX: pComponent = "word"; break;
+@@ -538,13 +538,13 @@ OUString DrawingML::WriteImage( const Graphic& rGraphic )
+ .appendAscii( pComponent )
+ .appendAscii( "/media/image" )
+ .append( (sal_Int32) mnImageCounter )
+- .appendAscii( sExtension )
++ .appendAscii( pExtension )
+ .makeStringAndClear(),
+ sMediaType );
+ xOutStream->writeBytes( Sequence< sal_Int8 >( (const sal_Int8*) aData, nDataSize ) );
+ xOutStream->closeOutput();
+
+- const char *pImagePrefix = NULL;
++ const char *pImagePrefix = "";
+ switch ( meDocumentType )
+ {
+ case DOCUMENT_DOCX:
+@@ -561,7 +561,7 @@ OUString DrawingML::WriteImage( const Graphic& rGraphic )
+ OUStringBuffer()
+ .appendAscii( pImagePrefix )
+ .append( (sal_Int32) mnImageCounter ++ )
+- .appendAscii( sExtension )
++ .appendAscii( pExtension )
+ .makeStringAndClear() );
+
+ return sRelId;
+--
+1.7.5.2
+
diff --git a/libreoffice.spec b/libreoffice.spec
index 18888e6..2a28b86 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -19,7 +19,7 @@ Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: 3.4.0.2
-Release: 3%{?dist}
+Release: 4%{?dist}
License: LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and (CDDL or GPLv2) and Public Domain
Group: Applications/Productivity
URL: http://www.documentfoundation.org/develop
@@ -94,6 +94,7 @@ Patch15: 0001-rhbz-702635-set-correct-page-number-when-exporting-s.patch
Patch16: 0001-handle-NULL-display-gracefully.patch
Patch17: 0001-Resolves-rhbz-707317-avoid-crash-in-getRowSpan.patch
Patch18: 0001-Resolves-rhbz-710004-band-aid-for-immediate-crash-in.patch
+Patch19: 0001-Resolves-rhbz-710556-don-t-crash-on-missing-graphics.patch
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%define instdir %{_libdir}
@@ -713,6 +714,7 @@ mv -f redhat.soc extras/source/palettes/standard.soc
%patch16 -p1 -b .handle-NULL-display-gracefully.patch
%patch17 -p1 -b .rhbz707317-avoid-crash-in-getRowSpan.patch
%patch18 -p1 -b .rhbz710004-band-aid-for-immediate-crash-in.patch
+%patch19 -p1 -b .rhbz710556-don-t-crash-on-missing-graphics.patch
# these are horribly incomplete--empty translations and copied english
# strings with spattering of translated strings
@@ -1992,6 +1994,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
%{basisinstdir}/program/kde-open-url
%changelog
+* Tue Jun 07 2011 Caolán McNamara <caolanm at redhat.com> - 3.4.0.2-4
+- Resolves: rhbz#710556 't crash on missing graphics .pptx export
+
* Thu Jun 02 2011 Caolán McNamara <caolanm at redhat.com> - 3.4.0.2-3
- Resolves: rhbz#710004 band aid for crash
More information about the scm-commits
mailing list