diff --git a/src/Mod/Mesh/App/Core/MeshIO.cpp b/src/Mod/Mesh/App/Core/MeshIO.cpp index 453047b367..5b02cdaeae 100644 --- a/src/Mod/Mesh/App/Core/MeshIO.cpp +++ b/src/Mod/Mesh/App/Core/MeshIO.cpp @@ -1388,7 +1388,10 @@ bool MeshOutput::SaveAny(const char* FileName, MeshIO::Format format) const // ask for write permission Base::FileInfo file(FileName); Base::FileInfo directory(file.dirPath()); - if ((file.exists() && !file.isWritable()) || !directory.exists() || !directory.isWritable()) { + if (!directory.exists()) { + throw Base::FileException("Directory does not exist", FileName); + } + if ((file.exists() && !file.isWritable()) || !directory.isWritable()) { throw Base::FileException("No write permission for file", FileName); }