diff options
Diffstat (limited to 'ucb/source/ucp/package/pkgcontent.cxx')
-rw-r--r-- | ucb/source/ucp/package/pkgcontent.cxx | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/ucb/source/ucp/package/pkgcontent.cxx b/ucb/source/ucp/package/pkgcontent.cxx index 19f2017716bb..127c1cfb63e7 100644 --- a/ucb/source/ucp/package/pkgcontent.cxx +++ b/ucb/source/ucp/package/pkgcontent.cxx @@ -1909,29 +1909,29 @@ void Content::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(); } |