diff options
Diffstat (limited to 'ucb/source/ucp/hierarchy/hierarchycontent.cxx')
-rw-r--r-- | ucb/source/ucp/hierarchy/hierarchycontent.cxx | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/ucb/source/ucp/hierarchy/hierarchycontent.cxx b/ucb/source/ucp/hierarchy/hierarchycontent.cxx index 707f0e31a1f7..6228f2bd9e07 100644 --- a/ucb/source/ucp/hierarchy/hierarchycontent.cxx +++ b/ucb/source/ucp/hierarchy/hierarchycontent.cxx @@ -1701,29 +1701,29 @@ void HierarchyContent::transfer( // 5) Destroy source ( when moving only ) . - if ( rInfo.MoveData ) - { - xSource->destroy( true, xEnv ); + if ( !rInfo.MoveData ) + return; - // Remove all persistent data of source and its children. - if ( !xSource->removeData() ) - { - uno::Sequence<uno::Any> aArgs(comphelper::InitAnyPropertySequence( - { - {"Uri", uno::Any(xSource->m_xIdentifier->getContentIdentifier())} - })); - ucbhelper::cancelCommandExecution( - ucb::IOErrorCode_CANT_WRITE, - aArgs, - xEnv, - "Cannot remove persistent data of source object!", - this ); - // Unreachable - } + xSource->destroy( true, xEnv ); - // Remove own and all children's Additional Core Properties. - xSource->removeAdditionalPropertySet(); + // Remove all persistent data of source and its children. + if ( !xSource->removeData() ) + { + uno::Sequence<uno::Any> aArgs(comphelper::InitAnyPropertySequence( + { + {"Uri", uno::Any(xSource->m_xIdentifier->getContentIdentifier())} + })); + ucbhelper::cancelCommandExecution( + ucb::IOErrorCode_CANT_WRITE, + aArgs, + xEnv, + "Cannot remove persistent data of source object!", + this ); + // Unreachable } + + // Remove own and all children's Additional Core Properties. + xSource->removeAdditionalPropertySet(); } |