Skip to content
Snippets Groups Projects
Commit 593d6701 authored by Mnikolenko ProductEngine's avatar Mnikolenko ProductEngine
Browse files

MAINT-4857 FIXED Reset scene monitor after completing teleport.

parent 90e46377
No related branches found
No related tags found
No related merge requests found
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#include "llspatialpartition.h" #include "llspatialpartition.h"
#include "llagent.h" #include "llagent.h"
#include "pipeline.h" #include "pipeline.h"
#include "llviewerparcelmgr.h"
#include "llviewerpartsim.h" #include "llviewerpartsim.h"
LLSceneMonitorView* gSceneMonitorView = NULL; LLSceneMonitorView* gSceneMonitorView = NULL;
...@@ -702,6 +703,13 @@ LLSceneMonitorView::LLSceneMonitorView(const LLRect& rect) ...@@ -702,6 +703,13 @@ LLSceneMonitorView::LLSceneMonitorView(const LLRect& rect)
setCanMinimize(false); setCanMinimize(false);
setCanClose(true); setCanClose(true);
sTeleportFinishConnection = LLViewerParcelMgr::getInstance()->setTeleportFinishedCallback(boost::bind(&LLSceneMonitorView::onTeleportFinished, this));
}
LLSceneMonitorView::~LLSceneMonitorView()
{
sTeleportFinishConnection.disconnect();
} }
void LLSceneMonitorView::onClose(bool app_quitting) void LLSceneMonitorView::onClose(bool app_quitting)
...@@ -714,6 +722,14 @@ void LLSceneMonitorView::onClickCloseBtn(bool app_quitting) ...@@ -714,6 +722,14 @@ void LLSceneMonitorView::onClickCloseBtn(bool app_quitting)
setVisible(false); setVisible(false);
} }
void LLSceneMonitorView::onTeleportFinished()
{
if(isInVisibleChain())
{
LLSceneMonitor::getInstance()->reset();
}
}
void LLSceneMonitorView::onVisibilityChange(BOOL visible) void LLSceneMonitorView::onVisibilityChange(BOOL visible)
{ {
if (!LLGLSLShader::sNoFixedFunction && visible) if (!LLGLSLShader::sNoFixedFunction && visible)
......
...@@ -64,10 +64,12 @@ class LLSceneMonitor : public LLSingleton<LLSceneMonitor> ...@@ -64,10 +64,12 @@ class LLSceneMonitor : public LLSingleton<LLSceneMonitor>
void dumpToFile(std::string file_name); void dumpToFile(std::string file_name);
bool hasResults() const { return mSceneLoadRecording.getResults().getDuration() != S32Seconds(0);} bool hasResults() const { return mSceneLoadRecording.getResults().getDuration() != S32Seconds(0);}
void reset();
private: private:
void freezeScene(); void freezeScene();
void unfreezeScene(); void unfreezeScene();
void reset();
LLRenderTarget& getCaptureTarget(); LLRenderTarget& getCaptureTarget();
void generateDitheringTexture(S32 width, S32 height); void generateDitheringTexture(S32 width, S32 height);
...@@ -109,7 +111,7 @@ class LLSceneMonitorView : public LLFloater ...@@ -109,7 +111,7 @@ class LLSceneMonitorView : public LLFloater
{ {
public: public:
LLSceneMonitorView(const LLRect& rect); LLSceneMonitorView(const LLRect& rect);
~LLSceneMonitorView();
virtual void draw(); virtual void draw();
virtual void onVisibilityChange(BOOL visible); virtual void onVisibilityChange(BOOL visible);
...@@ -117,6 +119,8 @@ class LLSceneMonitorView : public LLFloater ...@@ -117,6 +119,8 @@ class LLSceneMonitorView : public LLFloater
protected: protected:
virtual void onClose(bool app_quitting=false); virtual void onClose(bool app_quitting=false);
virtual void onClickCloseBtn(bool app_quitting=false); virtual void onClickCloseBtn(bool app_quitting=false);
void onTeleportFinished();
boost::signals2::connection sTeleportFinishConnection;
}; };
extern LLSceneMonitorView* gSceneMonitorView; extern LLSceneMonitorView* gSceneMonitorView;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment