From d0604362445f83d8d68c5be9b4eea184f24df3c9 Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Wed, 11 Aug 2010 09:56:54 -0700 Subject: Fixed crash when logging into a region with progress screens disabled --- linden/indra/newview/llwindlightremotectrl.cpp | 54 +++++++++++++------------- linden/indra/newview/llwindlightremotectrl.h | 2 - 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/linden/indra/newview/llwindlightremotectrl.cpp b/linden/indra/newview/llwindlightremotectrl.cpp index b5c15a5..5a6b35d 100644 --- a/linden/indra/newview/llwindlightremotectrl.cpp +++ b/linden/indra/newview/llwindlightremotectrl.cpp @@ -58,10 +58,9 @@ private: }; -LLWindlightRemoteCtrl::LLWindlightRemoteCtrl() +LLWindlightRemoteCtrl::LLWindlightRemoteCtrl() : + mObserver(NULL) { - mPresetsCombo = NULL; - mObserver = NULL; setIsChrome(TRUE); build(); @@ -94,7 +93,7 @@ void LLWindlightRemoteCtrl::draw() if (rlv_handler_t::isEnabled()) { childSetEnabled("Environment", !gRlvHandler.hasBehaviour(RLV_BHVR_SETENV)); - mPresetsCombo->setEnabled(!gRlvHandler.hasBehaviour(RLV_BHVR_SETENV)); + getChild("Presets")->setEnabled(!gRlvHandler.hasBehaviour(RLV_BHVR_SETENV)); } // [/RLVA:KB] @@ -119,11 +118,11 @@ BOOL LLWindlightRemoteCtrl::postBuild() childSetAction("Environment", onClickToggleEnvironment, this); childSetAction("Popup", onClickPopupBtn, this); - mPresetsCombo = getChild("Presets"); - if (mPresetsCombo) + LLComboBox* presetsCombo = getChild("Presets"); + if (presetsCombo) { - mPresetsCombo->setCommitCallback(onCommitPreset); - mPresetsCombo->setCallbackUserData(this); + presetsCombo->setCommitCallback(onCommitPreset); + presetsCombo->setCallbackUserData(this); // set up observer to follow changes mObserver = new LLWindlightRemoteObserver(this); @@ -144,42 +143,43 @@ void LLWindlightRemoteCtrl::refreshPresets() return; } - if (mPresetsCombo) + LLComboBox* presetsCombo = getChild("Presets", TRUE, TRUE); + if (presetsCombo) { // snag current preset LLWLParamManager * param_mgr = LLWLParamManager::instance(); LLWLParamSet& currentParams = param_mgr->mCurParams; // clear in case presets names have changed - mPresetsCombo->clearRows(); + presetsCombo->clearRows(); std::map::iterator mIt = param_mgr->mParamList.begin(); for(; mIt != param_mgr->mParamList.end(); mIt++) { - mPresetsCombo->add(mIt->first); + presetsCombo->add(mIt->first); } // insert separator and add World menu options - // mPresetsCombo->addSeparator(ADD_BOTTOM); - // mPresetsCombo->addSimpleElement(getString("atmosphere"), ADD_BOTTOM); - // mPresetsCombo->addSimpleElement(getString("lighting"), ADD_BOTTOM); - // mPresetsCombo->addSimpleElement(getString("clouds"), ADD_BOTTOM); - // mPresetsCombo->addSimpleElement(getString("advanced_water"), ADD_BOTTOM); - mPresetsCombo->addSeparator(ADD_BOTTOM); - mPresetsCombo->addSimpleElement(getString("sunrise"), ADD_BOTTOM); - mPresetsCombo->addSimpleElement(getString("noon"), ADD_BOTTOM); - mPresetsCombo->addSimpleElement(getString("sunset"), ADD_BOTTOM); - mPresetsCombo->addSimpleElement(getString("midnight"), ADD_BOTTOM); - mPresetsCombo->addSimpleElement(getString("revert_region"), ADD_BOTTOM); + // presetsCombo->addSeparator(ADD_BOTTOM); + // presetsCombo->addSimpleElement(getString("atmosphere"), ADD_BOTTOM); + // presetsCombo->addSimpleElement(getString("lighting"), ADD_BOTTOM); + // presetsCombo->addSimpleElement(getString("clouds"), ADD_BOTTOM); + // presetsCombo->addSimpleElement(getString("advanced_water"), ADD_BOTTOM); + presetsCombo->addSeparator(ADD_BOTTOM); + presetsCombo->addSimpleElement(getString("sunrise"), ADD_BOTTOM); + presetsCombo->addSimpleElement(getString("noon"), ADD_BOTTOM); + presetsCombo->addSimpleElement(getString("sunset"), ADD_BOTTOM); + presetsCombo->addSimpleElement(getString("midnight"), ADD_BOTTOM); + presetsCombo->addSimpleElement(getString("revert_region"), ADD_BOTTOM); if (!currentParams.mName.empty()) { - mPresetsCombo->selectByValue(LLSD(currentParams.mName)); + presetsCombo->selectByValue(LLSD(currentParams.mName)); } else { - mPresetsCombo->selectByValue(LLSD("Default")); + presetsCombo->selectByValue(LLSD("Default")); } } } @@ -189,7 +189,9 @@ void LLWindlightRemoteCtrl::onCommitPreset(LLUICtrl* ctrl, void* data) { LLWindlightRemoteCtrl* self = (LLWindlightRemoteCtrl*)data; - LLCtrlListInterface* presets = self->mPresetsCombo ? self->mPresetsCombo->getListInterface() : NULL; + LLComboBox* presetsCombo = self->getChild("Presets"); + + LLCtrlListInterface* presets = presetsCombo ? presetsCombo->getListInterface() : NULL; if (presets) { S32 index = presets->getFirstSelectedIndex(); @@ -201,7 +203,7 @@ void LLWindlightRemoteCtrl::onCommitPreset(LLUICtrl* ctrl, void* data) } // check for World menu options; if none, apply preset - std::string selected = self->mPresetsCombo->getSelectedValue().asString(); + std::string selected = presetsCombo->getSelectedValue().asString(); if (selected == self->getString("atmosphere")) { diff --git a/linden/indra/newview/llwindlightremotectrl.h b/linden/indra/newview/llwindlightremotectrl.h index e4ad2d5..5126514 100644 --- a/linden/indra/newview/llwindlightremotectrl.h +++ b/linden/indra/newview/llwindlightremotectrl.h @@ -33,7 +33,6 @@ #include "llpanel.h" -class LLComboBox; class LLWLPresetsObserver; class LLWindlightRemoteCtrl : public LLPanel @@ -47,7 +46,6 @@ public: void refreshPresets(); private: - LLComboBox* mPresetsCombo; LLWLPresetsObserver* mObserver; void build(); -- cgit v1.1