summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2013-12-13 10:36:32 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2013-12-17 10:21:06 +0000
commitb95f4fad1acc01857cdc83af23506a4bce6c4ccd (patch)
tree09081c02179bee9281aa93ccc8d2be8929145ba1
parent4d2be4e7fa811db504a0fade72514b514ac84c96 (diff)
Fixed the update to working copy and back after (cancel) checkout: fdo#64533
After Checkout, simply set medium name and update the medium: at least we are sure it works in more situations than the other function we used. After cancel checkout, call SID_RELOAD to actually revert any local change. Change-Id: I3dc296a74726770c4f47d9653c382108f7baccad (cherry picked from commit a68e0e334df02c1ca47601575523b23c6db13470) Reviewed-on: https://gerrit.libreoffice.org/7068 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--sfx2/source/doc/objserv.cxx5
-rw-r--r--sfx2/source/doc/sfxbasemodel.cxx12
2 files changed, 8 insertions, 9 deletions
diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx
index a6f445ae9792..fb292278b131 100644
--- a/sfx2/source/doc/objserv.cxx
+++ b/sfx2/source/doc/objserv.cxx
@@ -897,6 +897,11 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
if ( QueryBox( NULL, SfxResId( RID_QUERY_CANCELCHECKOUT ) ).Execute( ) == RET_YES )
{
CancelCheckOut( );
+
+ // Reload the document as we may still have local changes
+ SfxViewFrame *pFrame = GetFrame();
+ if ( pFrame )
+ pFrame->GetDispatcher()->Execute(SID_RELOAD);
}
break;
}
diff --git a/sfx2/source/doc/sfxbasemodel.cxx b/sfx2/source/doc/sfxbasemodel.cxx
index 44f9f92f991d..70e9c3d462ac 100644
--- a/sfx2/source/doc/sfxbasemodel.cxx
+++ b/sfx2/source/doc/sfxbasemodel.cxx
@@ -2519,7 +2519,8 @@ void SAL_CALL SfxBaseModel::checkOut( ) throw ( RuntimeException )
OUString sURL;
aResult >>= sURL;
- m_pData->m_pObjectShell->GetMedium( )->SwitchDocumentToFile( sURL );
+ m_pData->m_pObjectShell->GetMedium( )->SetName( sURL );
+ m_pData->m_pObjectShell->GetMedium( )->GetMedium_Impl( );
m_pData->m_xDocumentProperties->setTitle( getTitle( ) );
Sequence< beans::PropertyValue > aSequence ;
TransformItems( SID_OPENDOC, *pMedium->GetItemSet(), aSequence );
@@ -2550,14 +2551,7 @@ void SAL_CALL SfxBaseModel::cancelCheckOut( ) throw ( RuntimeException )
OUString sURL;
aResult >>= sURL;
- m_pData->m_pObjectShell->GetMedium( )->SwitchDocumentToFile( sURL );
- m_pData->m_xDocumentProperties->setTitle( getTitle( ) );
- Sequence< beans::PropertyValue > aSequence ;
- TransformItems( SID_OPENDOC, *pMedium->GetItemSet(), aSequence );
- attachResource( sURL, aSequence );
-
- // Reload the CMIS properties
- loadCmisProperties( );
+ m_pData->m_pObjectShell->GetMedium( )->SetName( sURL );
}
catch ( const Exception & e )
{