diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index df21bec0bc1be7f56023b569f332b0c48a3b8478..0a717cc834995b1e907490e96e25fe8e3cf0df77 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -2643,11 +2643,7 @@ void LLPanelPreferenceView::setPresetText() { if (presetsMgr->isCameraDirty() && !preset_camera_active.empty()) { - gSavedSettings.setString("PresetCameraActive", ""); preset_camera_active.clear(); - // This doesn't seem to cause an infinite recursion. This trigger is needed to cause the pulldown - // panel to update. - LLPresetsManager::getInstance()->triggerChangeCameraSignal(); } } diff --git a/indra/newview/llpanelpresetscamerapulldown.cpp b/indra/newview/llpanelpresetscamerapulldown.cpp index ffdfc445ceaa7126eb14005c16187ada8bd9afe1..e2b9c080fb8de6ebfbe74ce0d353aff543a36b5e 100644 --- a/indra/newview/llpanelpresetscamerapulldown.cpp +++ b/indra/newview/llpanelpresetscamerapulldown.cpp @@ -63,11 +63,12 @@ BOOL LLPanelPresetsCameraPulldown::postBuild() LLPresetsManager* presetsMgr = LLPresetsManager::getInstance(); if (presetsMgr) { - presetsMgr->setPresetListChangeCameraCallback(boost::bind(&LLPanelPresetsCameraPulldown::populatePanel, this)); // Make sure there is a default preference file presetsMgr->createMissingDefault(PRESETS_CAMERA); presetsMgr->startWatching(PRESETS_CAMERA); + + presetsMgr->setPresetListChangeCameraCallback(boost::bind(&LLPanelPresetsCameraPulldown::populatePanel, this)); } populatePanel(); diff --git a/indra/newview/llpresetsmanager.cpp b/indra/newview/llpresetsmanager.cpp index d4535c69c8f144bc957dbbe627e4bb21ad6703a9..7368615365a45aca0c9a5bc56ee337c49fa7c1aa 100644 --- a/indra/newview/llpresetsmanager.cpp +++ b/indra/newview/llpresetsmanager.cpp @@ -208,6 +208,12 @@ bool LLPresetsManager::isCameraDirty() void LLPresetsManager::settingChanged() { setCameraDirty(true); + + gSavedSettings.setString("PresetCameraActive", ""); + +// Hack call because this is a static routine + LLPresetsManager::getInstance()->triggerChangeCameraSignal(); + } void LLPresetsManager::getControlNames(std::vector<std::string>& names)