summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerwindow.cpp
diff options
context:
space:
mode:
authordaianakproductengine <daianakproductengine@lindenlab.com>2017-05-24 16:33:39 +0300
committerdaianakproductengine <daianakproductengine@lindenlab.com>2017-05-24 16:33:39 +0300
commitf82785a9b275b78b47cdebaf2ccfc8aa9407c405 (patch)
tree3cd0b01a8e6b552708ef936d6855cd0602bd2ebf /indra/newview/llviewerwindow.cpp
parenta6cda1ee06ee422d39b8bc9ba9369e14ec3f1251 (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.cpp11
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;