summaryrefslogtreecommitdiff
path: root/sfx2/source/doc
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2/source/doc')
-rw-r--r--sfx2/source/doc/objmisc.cxx22
-rw-r--r--sfx2/source/doc/objstor.cxx2
2 files changed, 20 insertions, 4 deletions
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
index f0f20c59ad9e..74a419b93c7f 100644
--- a/sfx2/source/doc/objmisc.cxx
+++ b/sfx2/source/doc/objmisc.cxx
@@ -1045,7 +1045,7 @@ void SfxObjectShell::InitOwnModel_Impl()
}
}
-void SfxObjectShell::FinishedLoading()
+void SfxObjectShell::FinishedLoading( SfxLoadedFlags nFlags )
{
std::shared_ptr<const SfxFilter> pFlt = pMedium->GetFilter();
if( pFlt )
@@ -1055,7 +1055,7 @@ void SfxObjectShell::FinishedLoading()
bool bSetModifiedTRUE = false;
const SfxStringItem* pSalvageItem = SfxItemSet::GetItem<SfxStringItem>(pMedium->GetItemSet(), SID_DOC_SALVAGE, false);
- if( !(pImpl->nLoadedFlags & SfxLoadedFlags::MAINDOCUMENT )
+ if( ( nFlags & SfxLoadedFlags::MAINDOCUMENT ) && !(pImpl->nLoadedFlags & SfxLoadedFlags::MAINDOCUMENT )
&& !(pImpl->nFlagsInProgress & SfxLoadedFlags::MAINDOCUMENT ))
{
pImpl->nFlagsInProgress |= SfxLoadedFlags::MAINDOCUMENT;
@@ -1083,7 +1083,23 @@ void SfxObjectShell::FinishedLoading()
pImpl->nFlagsInProgress &= ~SfxLoadedFlags::MAINDOCUMENT;
}
- pImpl->nLoadedFlags |= SfxLoadedFlags::MAINDOCUMENT;
+ if( ( nFlags & SfxLoadedFlags::IMAGES ) && !(pImpl->nLoadedFlags & SfxLoadedFlags::IMAGES )
+ && !(pImpl->nFlagsInProgress & SfxLoadedFlags::IMAGES ))
+ {
+ pImpl->nFlagsInProgress |= SfxLoadedFlags::IMAGES;
+ uno::Reference<document::XDocumentProperties> xDocProps(
+ getDocProperties());
+ const OUString url(xDocProps->getAutoloadURL());
+ sal_Int32 delay(xDocProps->getAutoloadSecs());
+ SetAutoLoad( INetURLObject(url), delay * 1000,
+ (delay > 0) || !url.isEmpty() );
+ if( !bSetModifiedTRUE && IsEnableSetModified() )
+ SetModified( false );
+ Invalidate( SID_SAVEASDOC );
+ pImpl->nFlagsInProgress &= ~SfxLoadedFlags::IMAGES;
+ }
+
+ pImpl->nLoadedFlags |= nFlags;
if ( pImpl->nFlagsInProgress == SfxLoadedFlags::NONE )
{
diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
index f4db742b728e..759cc16b987c 100644
--- a/sfx2/source/doc/objstor.cxx
+++ b/sfx2/source/doc/objstor.cxx
@@ -830,7 +830,7 @@ bool SfxObjectShell::DoLoad( SfxMedium *pMed )
if ( !( pImpl->nLoadedFlags & SfxLoadedFlags::MAINDOCUMENT ) &&
( !pMedium->GetFilter() || pMedium->GetFilter()->UsesStorage() )
)
- FinishedLoading();
+ FinishedLoading( SfxLoadedFlags::MAINDOCUMENT );
if( IsOwnStorageFormat(*pMed) && pMed->GetFilter() )
{