diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-10-13 01:10:49 +0300 | 
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-10-13 01:10:49 +0300 | 
| commit | 2e52d921bf1d1f506db50371e1f4bc246aff45ef (patch) | |
| tree | 4435580ef143bfbef867e8a79961a56234bd7d7a /indra/newview | |
| parent | ece2e7b39a840a5126a9b34acf15450a969a6daa (diff) | |
SL-16156 LLTrace::StatType crash
Don't record stats or run timer when making 360 snapshots.
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llfloater360capture.cpp | 14 | 
1 files changed, 10 insertions, 4 deletions
diff --git a/indra/newview/llfloater360capture.cpp b/indra/newview/llfloater360capture.cpp index c075f7e8bd..8ad0bb3995 100644 --- a/indra/newview/llfloater360capture.cpp +++ b/indra/newview/llfloater360capture.cpp @@ -84,7 +84,7 @@ LLFloater360Capture::~LLFloater360Capture()      // Tell the Simulator not to send us everything anymore      // and revert to the regular "keyhole" frustum of interest      // list updates. -    if (gSavedSettings.getBOOL("360CaptureUseInterestListCap")) +    if (gSavedSettings.getBOOL("360CaptureUseInterestListCap") && !LLApp::isExiting())      {          const bool send_everything = false;          changeInterestListMode(send_everything); @@ -537,7 +537,8 @@ void LLFloater360Capture::capture360Images()      // 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.)      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->setAspect(1.0); // must set aspect ratio first to avoid undesirable clamping of vertical FoV @@ -587,6 +588,9 @@ void LLFloater360Capture::capture360Images()      // for each of the 6 directions we shoot...      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          // the first time we use them, we have to make a new one          if (mRawImages[i] == nullptr) @@ -624,8 +628,10 @@ void LLFloater360Capture::capture360Images()          auto duration = std::chrono::duration_cast<std::chrono::duration<double>>(t_end - t_start);          encode_time_total += duration.count(); -        // ping the main loop in case the snapshot process takes a really long -        // time and we get disconnected +        LLViewerStats::instance().getRecording().resume(); +        LLAppViewer::instance()->resumeMainloopTimeout(); +         +        // update main loop timeout state          LLAppViewer::instance()->pingMainloopTimeout("LLFloater360Capture::capture360Images");      }  | 
