diff options
| author | Andrey Lihatskiy <alihatskiy@productengine.com> | 2025-05-29 01:02:06 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-29 01:02:06 +0300 |
| commit | 96023976f5af0b9af8e8d066d9ad4eea213f53ee (patch) | |
| tree | 56b5fadba1f247fc42b6d3a3062154d61a43abac /indra/newview/llviewercamera.cpp | |
| parent | 3af711e6da9d0004ce1b565bfadee634f087b89a (diff) | |
| parent | d3bd73ab923b8010bb395505b95bcc38b661162e (diff) | |
Merge pull request #4181 from secondlife/marchcat/slua-editor-merge
SLua editor: Post-release merge
Diffstat (limited to 'indra/newview/llviewercamera.cpp')
| -rw-r--r-- | indra/newview/llviewercamera.cpp | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/indra/newview/llviewercamera.cpp b/indra/newview/llviewercamera.cpp index aa43b2dbad..89c28ee2f9 100644 --- a/indra/newview/llviewercamera.cpp +++ b/indra/newview/llviewercamera.cpp @@ -73,12 +73,14 @@ LLViewerCamera::LLViewerCamera() : LLCamera() mAverageSpeed = 0.f; mAverageAngularSpeed = 0.f; - mCameraAngleChangedSignal = gSavedSettings.getControl("CameraAngle")->getCommitSignal()->connect(boost::bind(&LLViewerCamera::updateCameraAngle, this, _2)); -} - -LLViewerCamera::~LLViewerCamera() -{ - mCameraAngleChangedSignal.disconnect(); + LLPointer<LLControlVariable> cntrl_ptr = gSavedSettings.getControl("CameraAngle"); + if (cntrl_ptr.notNull()) + { + cntrl_ptr->getCommitSignal()->connect([](LLControlVariable* control, const LLSD& value, const LLSD& previous) + { + LLViewerCamera::getInstance()->setDefaultFOV((F32)value.asReal()); + }); + } } void LLViewerCamera::updateCameraLocation(const LLVector3 ¢er, const LLVector3 &up_direction, const LLVector3 &point_of_interest) @@ -420,7 +422,7 @@ bool LLViewerCamera::projectPosAgentToScreen(const LLVector3 &pos_agent, LLCoord LLRect world_view_rect = gViewerWindow->getWorldViewRectRaw(); glm::ivec4 viewport(world_view_rect.mLeft, world_view_rect.mBottom, world_view_rect.getWidth(), world_view_rect.getHeight()); - glm::vec3 win_coord = glm::project(glm::make_vec3(pos_agent.mV), get_current_modelview(), get_current_projection(), viewport); + glm::vec3 win_coord = glm::project(glm::vec3(pos_agent), get_current_modelview(), get_current_projection(), viewport); { // convert screen coordinates to virtual UI coordinates @@ -514,7 +516,7 @@ bool LLViewerCamera::projectPosAgentToScreenEdge(const LLVector3 &pos_agent, LLRect world_view_rect = gViewerWindow->getWorldViewRectRaw(); glm::ivec4 viewport(world_view_rect.mLeft, world_view_rect.mBottom, world_view_rect.getWidth(), world_view_rect.getHeight()); - glm::vec3 win_coord = glm::project(glm::make_vec3(pos_agent.mV), get_current_modelview(), get_current_projection(), viewport); + glm::vec3 win_coord = glm::project(glm::vec3(pos_agent), get_current_modelview(), get_current_projection(), viewport); { win_coord.x /= gViewerWindow->getDisplayScale().mV[VX]; @@ -814,8 +816,3 @@ bool LLViewerCamera::isDefaultFOVChanged() return false; } -void LLViewerCamera::updateCameraAngle(const LLSD& value) -{ - setDefaultFOV((F32)value.asReal()); -} - |
