diff options
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/doc/objmisc.cxx | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx index 45f9bbcdb914..f1db22ed7c4b 100644 --- a/sfx2/source/doc/objmisc.cxx +++ b/sfx2/source/doc/objmisc.cxx @@ -1351,10 +1351,10 @@ void SfxObjectShell::TemplateDisconnectionAfterLoad() // setting the new storage the medium will be based on pTmpMedium->SetStorage_Impl( xTmpStor ); - ForgetMedium(); - if( !DoSaveCompleted( pTmpMedium ) ) - SetError( ERRCODE_IO_GENERAL, OUString( OSL_LOG_PREFIX ) ); - else + pMedium = 0; + bool ok = DoSaveCompleted( pTmpMedium ); + assert(pMedium != 0); + if( ok ) { SFX_ITEMSET_ARG( pMedium->GetItemSet(), pSalvageItem, SfxStringItem, SID_DOC_SALVAGE, sal_False ); sal_Bool bSalvage = pSalvageItem ? sal_True : sal_False; @@ -1368,6 +1368,10 @@ void SfxObjectShell::TemplateDisconnectionAfterLoad() // the medium should not dispose the storage, DoSaveCompleted() has let it to do so pTmpMedium->CanDisposeStorage_Impl( sal_False ); } + else + { + SetError( ERRCODE_IO_GENERAL, OUString( OSL_LOG_PREFIX ) ); + } } else { |