summaryrefslogtreecommitdiff
path: root/indra/newview/llwaterparammanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llwaterparammanager.cpp')
-rw-r--r--indra/newview/llwaterparammanager.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/indra/newview/llwaterparammanager.cpp b/indra/newview/llwaterparammanager.cpp
index 50e407739b..136ffe607d 100644
--- a/indra/newview/llwaterparammanager.cpp
+++ b/indra/newview/llwaterparammanager.cpp
@@ -39,6 +39,7 @@
#include "pipeline.h"
#include "llsky.h"
+#include "llfloaterreg.h"
#include "llsliderctrl.h"
#include "llspinctrl.h"
#include "llcheckboxctrl.h"
@@ -153,7 +154,7 @@ void LLWaterParamManager::loadPreset(const std::string & name,bool propagate)
std::string pathName(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight/water", escaped_filename));
llinfos << "Loading water settings from " << pathName << llendl;
- std::ifstream presetsXML;
+ llifstream presetsXML;
presetsXML.open(pathName.c_str());
// That failed, try loading from the users area instead.
@@ -161,7 +162,8 @@ void LLWaterParamManager::loadPreset(const std::string & name,bool propagate)
{
pathName=gDirUtilp->getExpandedFilename( LL_PATH_USER_SETTINGS , "windlight/water", escaped_filename);
llinfos << "Loading User water setting from " << pathName << llendl;
- presetsXML.open(pathName.c_str());
+ presetsXML.clear();
+ presetsXML.open(pathName.c_str());
}
if (presetsXML)
@@ -262,21 +264,22 @@ void LLWaterParamManager::updateShaderUniforms(LLGLSLShader * shader)
}
}
+static LLFastTimer::DeclareTimer FTM_UPDATE_WLPARAM("Update Windlight Params");
+
void LLWaterParamManager::update(LLViewerCamera * cam)
{
- LLFastTimer ftm(LLFastTimer::FTM_UPDATE_WLPARAM);
+ LLFastTimer ftm(FTM_UPDATE_WLPARAM);
// update the shaders and the menu
propagateParameters();
// sync menus if they exist
- if(LLFloaterWater::isOpen())
+ LLFloaterWater* waterfloater = LLFloaterReg::findTypedInstance<LLFloaterWater>("env_water");
+ if(waterfloater)
{
- LLFloaterWater::instance()->syncMenu();
+ waterfloater->syncMenu();
}
- stop_glerror();
-
// only do this if we're dealing with shaders
if(gPipeline.canUseVertexShaders())
{