sfx2/source/doc/docfile.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
New commits: commit f95e7ef38e0bf79fa9662bfd50de612d50ef71de Author: Jan-Marek Glogowski <glo...@fbihome.de> Date: Tue Sep 19 17:29:07 2017 +0200 Don't crash when opening templates via WebDAV When loading a ODT template via HTTP, it crashes LO with an lang::IllegalArgumentException in LockFileCommon::ResolveLinks. This happens when closing the loaded template, as LO tries to remove a not-existing lock. aDocURL at this point is empty, so HasError() is true. As stated in the comment, we don't need a lock for documents created from templates, as this opens an internal copy of the document, so don't mark the teplate document as locked. Change-Id: Ide60020b6287aa67861dbcc8ec1b94f37896b7ef Reviewed-on: https://gerrit.libreoffice.org/42485 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Jan-Marek Glogowski <glo...@fbihome.de> diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx index f37a6c62746d..7437c66ee8ed 100644 --- a/sfx2/source/doc/docfile.cxx +++ b/sfx2/source/doc/docfile.cxx @@ -1005,15 +1005,16 @@ void SfxMedium::LockOrigFileOnDemand( bool bLoading, bool bNoUI ) try { bool bResult = pImpl->m_bLocked; + bool bIsTemplate = false; // so, this is webdav stuff... if ( !bResult ) { // no read-write access is necessary on loading if the document is explicitly opened as copy const SfxBoolItem* pTemplateItem = SfxItemSet::GetItem<SfxBoolItem>(GetItemSet(), SID_TEMPLATE, false); - bResult = ( bLoading && pTemplateItem && pTemplateItem->GetValue() ); + bIsTemplate = ( bLoading && pTemplateItem && pTemplateItem->GetValue() ); } - if ( !bResult && !IsReadOnly() ) + if ( !bIsTemplate && !bResult && !IsReadOnly() ) { ShowLockResult bUIStatus = ShowLockResult::NoLock; do _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits