Skip to content
Snippets Groups Projects
Commit 2e52d921 authored by Andrey Kleshchev's avatar Andrey Kleshchev
Browse files

SL-16156 LLTrace::StatType crash

Don't record stats or run timer when making 360 snapshots.
parent ece2e7b3
No related branches found
No related tags found
No related merge requests found
...@@ -84,7 +84,7 @@ LLFloater360Capture::~LLFloater360Capture() ...@@ -84,7 +84,7 @@ LLFloater360Capture::~LLFloater360Capture()
// Tell the Simulator not to send us everything anymore // Tell the Simulator not to send us everything anymore
// and revert to the regular "keyhole" frustum of interest // and revert to the regular "keyhole" frustum of interest
// list updates. // list updates.
if (gSavedSettings.getBOOL("360CaptureUseInterestListCap")) if (gSavedSettings.getBOOL("360CaptureUseInterestListCap") && !LLApp::isExiting())
{ {
const bool send_everything = false; const bool send_everything = false;
changeInterestListMode(send_everything); changeInterestListMode(send_everything);
...@@ -537,7 +537,8 @@ void LLFloater360Capture::capture360Images() ...@@ -537,7 +537,8 @@ void LLFloater360Capture::capture360Images()
// We need to convert from the angle getYaw() gives us into something // We need to convert from the angle getYaw() gives us into something
// the XMP data field wants (N=0, E=90, S=180, W= 270 etc.) // the XMP data field wants (N=0, E=90, S=180, W= 270 etc.)
mInitialHeadingDeg = (360 + 90 - (int)(camera->getYaw() * RAD_TO_DEG)) % 360; mInitialHeadingDeg = (360 + 90 - (int)(camera->getYaw() * RAD_TO_DEG)) % 360;
LL_INFOS("360Capture") << "Recording a heading of " << (int)(mInitialHeadingDeg) << LL_ENDL; LL_INFOS("360Capture") << "Recording a heading of " << (int)(mInitialHeadingDeg)
<< " Image size: " << (S32)mSourceImageSize << LL_ENDL;
// camera constants for the square, cube map capture image // camera constants for the square, cube map capture image
camera->setAspect(1.0); // must set aspect ratio first to avoid undesirable clamping of vertical FoV camera->setAspect(1.0); // must set aspect ratio first to avoid undesirable clamping of vertical FoV
...@@ -587,6 +588,9 @@ void LLFloater360Capture::capture360Images() ...@@ -587,6 +588,9 @@ void LLFloater360Capture::capture360Images()
// for each of the 6 directions we shoot... // for each of the 6 directions we shoot...
for (int i = 0; i < 6; i++) for (int i = 0; i < 6; i++)
{ {
LLAppViewer::instance()->pauseMainloopTimeout();
LLViewerStats::instance().getRecording().stop();
// these buffers are where the raw, captured pixels are stored and // these buffers are where the raw, captured pixels are stored and
// the first time we use them, we have to make a new one // the first time we use them, we have to make a new one
if (mRawImages[i] == nullptr) if (mRawImages[i] == nullptr)
...@@ -624,8 +628,10 @@ void LLFloater360Capture::capture360Images() ...@@ -624,8 +628,10 @@ void LLFloater360Capture::capture360Images()
auto duration = std::chrono::duration_cast<std::chrono::duration<double>>(t_end - t_start); auto duration = std::chrono::duration_cast<std::chrono::duration<double>>(t_end - t_start);
encode_time_total += duration.count(); encode_time_total += duration.count();
// ping the main loop in case the snapshot process takes a really long LLViewerStats::instance().getRecording().resume();
// time and we get disconnected LLAppViewer::instance()->resumeMainloopTimeout();
// update main loop timeout state
LLAppViewer::instance()->pingMainloopTimeout("LLFloater360Capture::capture360Images"); LLAppViewer::instance()->pingMainloopTimeout("LLFloater360Capture::capture360Images");
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment