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;
}