[Libreoffice-commits] core.git: sw/source

Caolán McNamara caolanm at redhat.com
Tue Jan 20 08:19:22 PST 2015


 sw/source/filter/xml/xmltexti.cxx |   18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

New commits:
commit 4345a3de0e5a600685fef5dc9fa422fe6849a0a3
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jan 20 16:17:07 2015 +0000

    Resolves: fdo#84943 make fodt non crashy like odt for formulas inside shapes
    
    where odt checks for a null pTxtCrsr and skips the object and fodt
    just ploughed ahead. i.e. make fodt equally useless as odt (fdo#84942)
    
    Change-Id: I915cc1f7c065ea83377e895a932636c82698cf1f

diff --git a/sw/source/filter/xml/xmltexti.cxx b/sw/source/filter/xml/xmltexti.cxx
index ef9ed0c..9849a90 100644
--- a/sw/source/filter/xml/xmltexti.cxx
+++ b/sw/source/filter/xml/xmltexti.cxx
@@ -232,7 +232,7 @@ uno::Reference< XPropertySet > SwXMLTextImportHelper::createAndInsertOLEObject(
     assert(xCrsrTunnel.is() && "missing XUnoTunnel for Cursor");
     OTextCursorHelper *pTxtCrsr = reinterpret_cast< OTextCursorHelper * >(
                 sal::static_int_cast< sal_IntPtr >( xCrsrTunnel->getSomething( OTextCursorHelper::getUnoTunnelId() )));
-    OSL_ENSURE( pTxtCrsr, "SwXTextCursor missing" );
+    SAL_WARN_IF(!pTxtCrsr, "sw.uno", "SwXTextCursor missing");
     SwDoc *pDoc = SwImport::GetDocFromXMLImport( rImport );
 
     SfxItemSet aItemSet( pDoc->GetAttrPool(), RES_FRMATR_BEGIN,
@@ -286,12 +286,16 @@ uno::Reference< XPropertySet > SwXMLTextImportHelper::createAndInsertOLEObject(
                     lcl_setObjectVisualArea( xObj, nAspect, aTwipSize, MAP_TWIP );
                 }
 
-                pFrmFmt = pDoc->getIDocumentContentOperations().Insert( *pTxtCrsr->GetPaM(),
-                                        ::svt::EmbeddedObjectRef( xObj, embed::Aspects::MSOLE_CONTENT ),
-                                        &aItemSet,
-                                        NULL,
-                                        NULL );
-                pOLENd = lcl_GetOLENode( pFrmFmt );
+                if( pTxtCrsr )
+                {
+                    pFrmFmt = pDoc->getIDocumentContentOperations().Insert( *pTxtCrsr->GetPaM(),
+                                            ::svt::EmbeddedObjectRef( xObj, embed::Aspects::MSOLE_CONTENT ),
+                                            &aItemSet,
+                                            NULL,
+                                            NULL );
+                    pOLENd = lcl_GetOLENode( pFrmFmt );
+                }
+
                 if( pOLENd )
                     aObjName = pOLENd->GetOLEObj().GetCurrentPersistName();
             }


More information about the Libreoffice-commits mailing list