MAINT-4857 FIXED Reset scene monitor after completing teleport.

meow-7.2.2
Mnikolenko ProductEngine 2015-02-05 11:07:44 +02:00
parent 90e4637751
commit 593d6701d9
2 changed files with 22 additions and 2 deletions

View File

@ -39,6 +39,7 @@
#include "llspatialpartition.h"
#include "llagent.h"
#include "pipeline.h"
#include "llviewerparcelmgr.h"
#include "llviewerpartsim.h"
LLSceneMonitorView* gSceneMonitorView = NULL;
@ -702,6 +703,13 @@ LLSceneMonitorView::LLSceneMonitorView(const LLRect& rect)
setCanMinimize(false);
setCanClose(true);
sTeleportFinishConnection = LLViewerParcelMgr::getInstance()->setTeleportFinishedCallback(boost::bind(&LLSceneMonitorView::onTeleportFinished, this));
}
LLSceneMonitorView::~LLSceneMonitorView()
{
sTeleportFinishConnection.disconnect();
}
void LLSceneMonitorView::onClose(bool app_quitting)
@ -714,6 +722,14 @@ void LLSceneMonitorView::onClickCloseBtn(bool app_quitting)
setVisible(false);
}
void LLSceneMonitorView::onTeleportFinished()
{
if(isInVisibleChain())
{
LLSceneMonitor::getInstance()->reset();
}
}
void LLSceneMonitorView::onVisibilityChange(BOOL visible)
{
if (!LLGLSLShader::sNoFixedFunction && visible)

View File

@ -64,10 +64,12 @@ public:
void dumpToFile(std::string file_name);
bool hasResults() const { return mSceneLoadRecording.getResults().getDuration() != S32Seconds(0);}
void reset();
private:
void freezeScene();
void unfreezeScene();
void reset();
LLRenderTarget& getCaptureTarget();
void generateDitheringTexture(S32 width, S32 height);
@ -109,7 +111,7 @@ class LLSceneMonitorView : public LLFloater
{
public:
LLSceneMonitorView(const LLRect& rect);
~LLSceneMonitorView();
virtual void draw();
virtual void onVisibilityChange(BOOL visible);
@ -117,6 +119,8 @@ public:
protected:
virtual void onClose(bool app_quitting=false);
virtual void onClickCloseBtn(bool app_quitting=false);
void onTeleportFinished();
boost::signals2::connection sTeleportFinishConnection;
};
extern LLSceneMonitorView* gSceneMonitorView;