[Libreoffice-commits] core.git: Branch 'libreoffice-5-3' - sw/source

Caolán McNamara caolanm at redhat.com
Thu Feb 16 21:37:26 UTC 2017


 sw/source/filter/ww8/ww8graf2.cxx |   27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

New commits:
commit 7b6bf8348f36e5b98c5a6d5ddc4815df07f4fbbc
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Feb 15 14:28:55 2017 +0000

    Resolves: tdf#101000 ensure unique image names in .docs
    
    (cherry picked from commit 432f605e3287269d1a20383f4eeebf012ee3679d)
    
    Change-Id: Id4f93638ad366b66968e6946a835239beee16942
    Reviewed-on: https://gerrit.libreoffice.org/34302
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>

diff --git a/sw/source/filter/ww8/ww8graf2.cxx b/sw/source/filter/ww8/ww8graf2.cxx
index 90e6021..dbcfdc3 100644
--- a/sw/source/filter/ww8/ww8graf2.cxx
+++ b/sw/source/filter/ww8/ww8graf2.cxx
@@ -30,8 +30,9 @@
 #include <sfx2/docfile.hxx>
 #include <sfx2/fcontnr.hxx>
 #include <grfatr.hxx>
-#include <fmtflcnt.hxx>
 #include <fmtanchr.hxx>
+#include <fmtcntnt.hxx>
+#include <fmtflcnt.hxx>
 #include <frmfmt.hxx>
 #include <fltshell.hxx>
 #include <pam.hxx>
@@ -454,6 +455,19 @@ void SwWW8ImplReader::PicRead(SvStream *pDataStream, WW8_PIC *pPic,
         pDataStream->SeekRel(2);  //cProps
 }
 
+namespace
+{
+    sal_uInt8 GetNodeType(SwFrameFormat &rSource)
+    {
+        const SwNodeIndex* pNodeIndex = rSource.GetContent().GetContentIdx();
+        if (!pNodeIndex)
+            return 0;
+        const SwNode& rCSttNd = pNodeIndex->GetNode();
+        SwNodeRange aRg(rCSttNd, 1, *rCSttNd.EndOfSectionNode());
+        return aRg.aStart.GetNode().GetNodeType();
+    }
+}
+
 SwFrameFormat* SwWW8ImplReader::ImportGraf(SdrTextObj* pTextObj,
     SwFrameFormat* pOldFlyFormat)
 {
@@ -670,12 +684,11 @@ SwFrameFormat* SwWW8ImplReader::ImportGraf(SdrTextObj* pTextObj,
                     if (pRecord)
                         SetAttributesAtGrfNode(pRecord, pRet, nullptr);
 
-                    // #i68101#
-                    // removed pObject->HasSetName() usage since always returned
-                    // true, also removed else-part and wrote an informing mail
-                    // to Henning Brinkmann about this to clarify.
-                    pRet->SetName(pObject->GetName());
-
+                    OUString aObjectName(pObject->GetName());
+                    if (aObjectName.isEmpty() || !m_rDoc.FindFlyByName(aObjectName, GetNodeType(*pRet)))
+                        pRet->SetName(aObjectName);
+                    else
+                        m_aGrfNameGenerator.SetUniqueGraphName(pRet, aObjectName);
 
                     // determine the pointer to the new object and update
                     // Z-order-list accordingly (or delete entry)


More information about the Libreoffice-commits mailing list