[Libreoffice-commits] core.git: Branch 'libreoffice-4-1' - sw/source

Michael Stahl mstahl at redhat.com
Fri May 31 03:48:32 PDT 2013


 sw/source/core/unocore/unoframe.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit f4743b5e7e6be74c1f399b7726ca85e38c96c132
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri May 31 12:34:35 2013 +0200

    sw: SwXFrame: fix gradient import problem:
    
    BaseFrameProperties_Impl::FillBaseProperties: It may happen that
    checkForUniqueItem returns an item with a name that already exists, if
    the same gradient appears multiple times; don't crash with unhandled
    ElementExistException then.
    (can be reproduced with test3.docx from fdo#41466)
    (regression from 1a3c90a292c7fc9060604151de9dc51eecf5b6a7)
    
    Change-Id: Iace7af4c5679c1c7e978525fa31abf884038567c
    (cherry picked from commit f5e8f5b0b5410d29b5cb1fb6fbbd8bf3c48a0201)

diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx
index d3d5ed5..0273a1e 100644
--- a/sw/source/core/unocore/unoframe.cxx
+++ b/sw/source/core/unocore/unoframe.cxx
@@ -267,7 +267,10 @@ bool BaseFrameProperties_Impl::FillBaseProperties(SwDoc* pDoc, SfxItemSet& rToSe
                     uno::Reference<frame::XModel> xModel(pDoc->GetDocShell()->GetModel());
                     uno::Reference<lang::XMultiServiceFactory> xServiceFact(xModel, uno::UNO_QUERY);
                     uno::Reference< container::XNameContainer > xGradients(xServiceFact->createInstance("com.sun.star.drawing.GradientTable"), uno::UNO_QUERY);
-                    xGradients->insertByName(pItem->GetName(), *pFillGradient);
+                    if (!xGradients->hasByName(pItem->GetName()))
+                    {
+                        xGradients->insertByName(pItem->GetName(), *pFillGradient);
+                    }
 
                     delete pItem;
                 }


More information about the Libreoffice-commits mailing list