diff options
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/doc/docfile.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx index 61e92a3e0d5f..144fe50aa64c 100644 --- a/sfx2/source/doc/docfile.cxx +++ b/sfx2/source/doc/docfile.cxx @@ -1,4 +1,4 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ /* * This file is part of the LibreOffice project. * @@ -3506,6 +3506,11 @@ OUString GetLogicBase(std::unique_ptr<SfxMedium_Impl> const & pImpl) { OUString aLogicBase; +// In a sandboxed environment we don't want to attempt to create temporary files in the same +// directory where the user has selected an output file to be stored. The sandboxed process has +// permission only to create the specifically named output file in that directory. +#if !HAVE_FEATURE_MACOSX_SANDBOX + if (comphelper::isFileUrl(pImpl->m_aLogicName) && !pImpl->m_pInStream) { // Try to create the temp file in the same directory when storing. @@ -3521,6 +3526,8 @@ OUString GetLogicBase(std::unique_ptr<SfxMedium_Impl> const & pImpl) // Embedded objects would mean a special base, ignore that. aLogicBase.clear(); +#endif // !HAVE_FEATURE_MACOSX_SANDBOX + return aLogicBase; } } |