[Libreoffice-commits] .: oox/source

Michael Meeks michael at kemper.freedesktop.org
Thu May 19 08:44:37 PDT 2011


 oox/source/ppt/presentationfragmenthandler.cxx |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

New commits:
commit 5194f794f5162d1b27120c281a92f0ca7506b22d
Author: Michael Meeks <michael.meeks at novell.com>
Date:   Thu May 19 16:42:44 2011 +0100

    don't de-reference null pointer - fix crash with certain PPTX files

diff --git a/oox/source/ppt/presentationfragmenthandler.cxx b/oox/source/ppt/presentationfragmenthandler.cxx
index c18fd4a..cbae082 100644
--- a/oox/source/ppt/presentationfragmenthandler.cxx
+++ b/oox/source/ppt/presentationfragmenthandler.cxx
@@ -246,11 +246,13 @@ void PresentationFragmentHandler::endDocument() throw (SAXException, RuntimeExce
                 }
 
                 // importing slide page
-                pSlidePersistPtr->setMasterPersist( pMasterPersistPtr );
-                pSlidePersistPtr->setTheme( pMasterPersistPtr->getTheme() );
-                Reference< drawing::XMasterPageTarget > xMasterPageTarget( pSlidePersistPtr->getPage(), UNO_QUERY );
-                if( xMasterPageTarget.is() )
-                    xMasterPageTarget->setMasterPage( pMasterPersistPtr->getPage() );
+                if (pMasterPersistPtr.get()) {
+                    pSlidePersistPtr->setMasterPersist( pMasterPersistPtr );
+                    pSlidePersistPtr->setTheme( pMasterPersistPtr->getTheme() );
+                    Reference< drawing::XMasterPageTarget > xMasterPageTarget( pSlidePersistPtr->getPage(), UNO_QUERY );
+                    if( xMasterPageTarget.is() )
+                        xMasterPageTarget->setMasterPage( pMasterPersistPtr->getPage() );
+                }
                 rFilter.getDrawPages().push_back( pSlidePersistPtr );
                 rFilter.setActualSlidePersist( pSlidePersistPtr );
                 importSlide( xSlideFragmentHandler, pSlidePersistPtr );


More information about the Libreoffice-commits mailing list