diff options
author | daianakproductengine <daianakproductengine@lindenlab.com> | 2017-05-24 16:33:39 +0300 |
---|---|---|
committer | daianakproductengine <daianakproductengine@lindenlab.com> | 2017-05-24 16:33:39 +0300 |
commit | f82785a9b275b78b47cdebaf2ccfc8aa9407c405 (patch) | |
tree | 3cd0b01a8e6b552708ef936d6855cd0602bd2ebf /indra/newview/llviewerwindow.cpp | |
parent | a6cda1ee06ee422d39b8bc9ba9369e14ec3f1251 (diff) |
MAINT-4375 Viewer saves an empty snapshots if disk is full
Diffstat (limited to 'indra/newview/llviewerwindow.cpp')
-rw-r--r-- | indra/newview/llviewerwindow.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 2d3b48bab3..45ea0f8e02 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -33,6 +33,7 @@ #include <iostream> #include <fstream> #include <algorithm> +#include <boost/filesystem.hpp> #include <boost/lambda/core.hpp> #include <boost/regex.hpp> @@ -4398,6 +4399,16 @@ BOOL LLViewerWindow::saveImageNumbered(LLImageFormatted *image, bool force_picke LLViewerWindow::sSnapshotDir = gDirUtilp->getDirName(filepath); } +// Check if there is enough free space to save snapshot +#ifdef LL_WINDOWS + boost::filesystem::space_info b_space = boost::filesystem::space(utf8str_to_utf16str(sSnapshotDir)); +#else + boost::filesystem::space_info b_space = boost::filesystem::space(sSnapshotDir); +#endif + if (b_space.free < image->getDataSize()) + { + return FALSE; + } // Look for an unused file name std::string filepath; S32 i = 1; |