Fix crash that would happen upon revealing then closing the wl pref panel and then overriding region windlight settings.

This commit is contained in:
Shyotl
2013-06-28 16:11:54 -05:00
parent 8bca439a5a
commit 8ccf3a20b3
2 changed files with 7 additions and 4 deletions

View File

@@ -72,6 +72,7 @@ void wlfPanel_AdvSettings::updateClass()
void wlfPanel_AdvSettings::build()
{
mConnections.clear();
deleteAllChildren();
std::string ButtonState;
if (gSavedSettings.getBOOL("wlfAdvSettingsPopup"))
@@ -161,9 +162,9 @@ BOOL wlfPanel_AdvSettings::postBuild()
// mDayCyclePresetCombo = getChild<LLComboBox>("DCPresetsCombo");
// mDayCyclePresetCombo->setCommitCallback(boost::bind(&wlfPanel_AdvSettings::onChangeDCPresetName, this, _2));
LLEnvManagerNew::instance().setPreferencesChangeCallback(boost::bind(&wlfPanel_AdvSettings::refreshLists, this));
LLWaterParamManager::getInstance()->setPresetListChangeCallback(boost::bind(&wlfPanel_AdvSettings::populateWaterPresetsList, this));
LLWLParamManager::getInstance()->setPresetListChangeCallback(boost::bind(&wlfPanel_AdvSettings::populateSkyPresetsList, this));
mConnections.push_front(new boost::signals2::scoped_connection(LLEnvManagerNew::instance().setPreferencesChangeCallback(boost::bind(&wlfPanel_AdvSettings::refreshLists, this))));
mConnections.push_front(new boost::signals2::scoped_connection(LLWaterParamManager::getInstance()->setPresetListChangeCallback(boost::bind(&wlfPanel_AdvSettings::populateWaterPresetsList, this))));
mConnections.push_front(new boost::signals2::scoped_connection(LLWLParamManager::getInstance()->setPresetListChangeCallback(boost::bind(&wlfPanel_AdvSettings::populateSkyPresetsList, this))));
// LLDayCycleManager::instance().setModifyCallback(boost::bind(&wlfPanel_AdvSettings::populateDayCyclePresetsList, this));
populateWaterPresetsList();

View File

@@ -33,7 +33,7 @@
#define LL_wlfPanel_AdvSettings_H
#include "llpanel.h"
#include <boost/ptr_container/ptr_list.hpp>
// [RLVa:KB]
#include "rlvhandler.h"
@@ -83,6 +83,8 @@ protected:
LLSliderCtrl* mTimeSlider;
bool mExpanded;
boost::ptr_list<boost::signals2::scoped_connection> mConnections;
};
#endif // LL_wlfPanel_AdvSettings_H