tdf#133490: set name for pasted frame format

In some copy/paste operations resulting frame format name can
be empty. This can lead to problems with udo/redo which relies
on format names.

Change-Id: I3cb542321d37cc00e2dee83d0f667164d83ead78
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101042
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
diff --git a/sw/source/core/doc/DocumentLayoutManager.cxx b/sw/source/core/doc/DocumentLayoutManager.cxx
index a582fdd..7df5d28 100644
--- a/sw/source/core/doc/DocumentLayoutManager.cxx
+++ b/sw/source/core/doc/DocumentLayoutManager.cxx
@@ -41,6 +41,7 @@
#include <pam.hxx>
#include <frameformats.hxx>
#include <com/sun/star/embed/EmbedStates.hpp>
#include <svx/svdobj.hxx>

using namespace ::com::sun::star;

@@ -485,6 +486,14 @@ SwFrameFormat *DocumentLayoutManager::CopyLayoutFormat(
        pDestTextBox->SetOtherTextBoxFormat(pDest);
    }

    if (pDest->GetName().isEmpty())
    {
        // Format name should have unique name. Let's use object name as a fallback
        SdrObject *pObj = pDest->FindSdrObject();
        if (pObj)
            pDest->SetName(pObj->GetName());
    }

    return pDest;
}