From f82785a9b275b78b47cdebaf2ccfc8aa9407c405 Mon Sep 17 00:00:00 2001 From: daianakproductengine Date: Wed, 24 May 2017 16:33:39 +0300 Subject: MAINT-4375 Viewer saves an empty snapshots if disk is full --- indra/newview/llviewerwindow.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'indra/newview/llviewerwindow.cpp') 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 #include #include +#include #include #include @@ -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; -- cgit v1.2.3