From 8171e713e74e3d09e86592c28abfe05d0400c071 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Mon, 2 Dec 2013 23:28:20 +0100 Subject: fdo#71450 fdo#71698: ODF import: fix frame name corner cases Trying to set a name that is already in use will throw an exception (and set a different, generated name); if there is actually no name in the file then there's no point trying to set anything. (regression from b69d152cfa1da868ba960345d72ba78f9f8e1b35) Change-Id: Ie54d4a830cc23e2853a6efeb81f77dcc788192ea --- xmloff/source/text/XMLTextFrameContext.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/xmloff/source/text/XMLTextFrameContext.cxx b/xmloff/source/text/XMLTextFrameContext.cxx index 6795dcdd5786..37312211a755 100644 --- a/xmloff/source/text/XMLTextFrameContext.cxx +++ b/xmloff/source/text/XMLTextFrameContext.cxx @@ -1307,12 +1307,20 @@ void XMLTextFrameContext_Impl::SetHyperlink( const OUString& rHRef, void XMLTextFrameContext_Impl::SetName() { Reference xNamed(xPropSet, UNO_QUERY); - if (xNamed.is()) + if (!m_sOrigName.isEmpty() && xNamed.is()) { OUString const name(xNamed->getName()); if (name != m_sOrigName) { - xNamed->setName(m_sOrigName); + try + { + xNamed->setName(m_sOrigName); + } + catch (uno::Exception const& e) + { // fdo#71698 document contains 2 frames with same draw:name + SAL_INFO("xmloff.text", "SetName(): exception setting \"" + << m_sOrigName << "\": " << e.Message); + } } } } -- cgit