Kaydet (Commit) 7dd704ab authored tarafından Mike Kaganski's avatar Mike Kaganski

tdf#116066: call DoSaveCompleted after SetReadOnlyUI

Change-Id: Ided8f12764585b2ba62e4c296af43ac07b9e31ed
Reviewed-on: https://gerrit.libreoffice.org/51051Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMike Kaganski <mike.kaganski@collabora.com>
üst 8c50aff2
......@@ -275,7 +275,11 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq )
{
SfxViewFrame* m_pFrame;
SfxObjectShell* m_pSh;
SfxMedium* m_pMed = nullptr;
bool m_bSetRO;
ReadOnlyUIGuard(SfxViewFrame* pFrame, SfxObjectShell* p_Sh)
: m_pFrame(pFrame), m_pSh(p_Sh), m_bSetRO(p_Sh->IsReadOnlyUI())
{}
~ReadOnlyUIGuard() COVERITY_NOEXCEPT_FALSE
{
if (m_bSetRO != m_pSh->IsReadOnlyUI())
......@@ -283,9 +287,15 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq )
m_pSh->SetReadOnlyUI(m_bSetRO);
if (!m_bSetRO)
m_pFrame->RemoveInfoBar("readonly");
if (m_pMed)
{
// tdf#116066: DoSaveCompleted should be called after SetReadOnlyUI
m_pSh->DoSaveCompleted(m_pMed);
m_pSh->Broadcast(SfxHint(SfxHintId::ModeChanged));
}
}
}
} aReadOnlyUIGuard{ this, pSh, pSh->IsReadOnlyUI() };
} aReadOnlyUIGuard(this, pSh);
SfxMedium* pMed = pSh->GetMedium();
......@@ -522,8 +532,7 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq )
}
else
{
pSh->DoSaveCompleted( pMed );
pSh->Broadcast( SfxHint(SfxHintId::ModeChanged) );
aReadOnlyUIGuard.m_pMed = pMed;
rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), true ) );
rReq.Done( true );
return;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment