diff options
author | Michael Stahl <mstahl@redhat.com> | 2013-12-02 23:28:20 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2013-12-02 23:37:12 +0100 |
commit | 8171e713e74e3d09e86592c28abfe05d0400c071 (patch) | |
tree | 5cddfe17dee2e740d75e5fc9d7d29f139d02d7c9 /xmloff | |
parent | 790896d9a557d34ea91d6e5926471de66503be7a (diff) |
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
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/source/text/XMLTextFrameContext.cxx | 12 |
1 files 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> 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); + } } } } |