summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/VIEWER_VERSION.txt2
-rw-r--r--indra/newview/llcontrolavatar.cpp2
-rw-r--r--indra/newview/llfloatereditextdaycycle.cpp26
-rw-r--r--indra/newview/llpanelenvironment.cpp7
-rw-r--r--indra/newview/llvoicevivox.cpp5
5 files changed, 25 insertions, 17 deletions
diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt
index f3b5af39e4..6abaeb2f90 100644
--- a/indra/newview/VIEWER_VERSION.txt
+++ b/indra/newview/VIEWER_VERSION.txt
@@ -1 +1 @@
-6.1.1
+6.2.0
diff --git a/indra/newview/llcontrolavatar.cpp b/indra/newview/llcontrolavatar.cpp
index fb61ad4b07..1e8ec4fe0f 100644
--- a/indra/newview/llcontrolavatar.cpp
+++ b/indra/newview/llcontrolavatar.cpp
@@ -58,6 +58,8 @@ LLControlAvatar::LLControlAvatar(const LLUUID& id, const LLPCode pcode, LLViewer
// virtual
LLControlAvatar::~LLControlAvatar()
{
+ // Should already have been unlinked before destruction
+ llassert(!mRootVolp);
}
// virtual
diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp
index 235a9b4d53..4b88b4d7af 100644
--- a/indra/newview/llfloatereditextdaycycle.cpp
+++ b/indra/newview/llfloatereditextdaycycle.cpp
@@ -927,19 +927,9 @@ void LLFloaterEditExtDayCycle::onFrameSliderCallback(const LLSD &data)
{
std::string curslider = mFramesSlider->getCurSlider();
- F32 sliderpos(0.0);
-
-
- if (curslider.empty())
- {
- S32 x(0), y(0);
- LLUI::getMousePositionLocal(mFramesSlider, &x, &y);
-
- sliderpos = mFramesSlider->getSliderValueFromPos(x, y);
- }
- else
+ if (!curslider.empty() && mEditDay)
{
- sliderpos = mFramesSlider->getCurSliderValue();
+ F32 sliderpos = mFramesSlider->getCurSliderValue();
keymap_t::iterator it = mSliderKeyMap.find(curslider);
if (it != mSliderKeyMap.end())
@@ -1528,7 +1518,11 @@ void LLFloaterEditExtDayCycle::synchronizeTabs()
LLTabContainer * tabs = mWaterTabLayoutContainer->getChild<LLTabContainer>(TABS_WATER);
if (mCurrentTrack == LLSettingsDay::TRACK_WATER)
{
- if (!mFramesSlider->getCurSlider().empty())
+ if (!mEditDay)
+ {
+ canedit = false;
+ }
+ else if (!mFramesSlider->getCurSlider().empty())
{
canedit = !mIsPlaying;
// either search mEditDay or retrieve from mSliderKeyMap
@@ -1557,7 +1551,11 @@ void LLFloaterEditExtDayCycle::synchronizeTabs()
tabs = mSkyTabLayoutContainer->getChild<LLTabContainer>(TABS_SKYS);
if (mCurrentTrack != LLSettingsDay::TRACK_WATER)
{
- if (!mFramesSlider->getCurSlider().empty())
+ if (!mEditDay)
+ {
+ canedit = false;
+ }
+ else if (!mFramesSlider->getCurSlider().empty())
{
canedit = !mIsPlaying;
// either search mEditDay or retrieve from mSliderKeyMap
diff --git a/indra/newview/llpanelenvironment.cpp b/indra/newview/llpanelenvironment.cpp
index ef307ad079..b343c913e5 100644
--- a/indra/newview/llpanelenvironment.cpp
+++ b/indra/newview/llpanelenvironment.cpp
@@ -335,9 +335,12 @@ void LLPanelEnvironmentInfo::refreshFromEstate()
std::string LLPanelEnvironmentInfo::getNameForTrackIndex(S32 index)
{
-
std::string invname;
- if (mCurrentEnvironment->mDayCycleName.empty())
+ if (!mCurrentEnvironment || index < LLSettingsDay::TRACK_WATER || index >= LLSettingsDay::TRACK_MAX)
+ {
+ invname = getString(STRING_EMPTY_NAME);
+ }
+ else if (mCurrentEnvironment->mDayCycleName.empty())
{
invname = mCurrentEnvironment->mNameList[index];
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp
index cf40058c34..0d3f65502a 100644
--- a/indra/newview/llvoicevivox.cpp
+++ b/indra/newview/llvoicevivox.cpp
@@ -1460,6 +1460,11 @@ bool LLVivoxVoiceClient::addAndJoinSession(const sessionStatePtr_t &nextSession)
LLSD timeoutResult(LLSDMap("session", "timeout"));
+ // We are about to start a whole new session. Anything that MIGHT still be in our
+ // maildrop is going to be stale and cause us much wailing and gnashing of teeth.
+ // Just flush it all out and start new.
+ voicePump.flush();
+
// It appears that I need to wait for BOTH the SessionGroup.AddSession response and the SessionStateChangeEvent with state 4
// before continuing from this state. They can happen in either order, and if I don't wait for both, things can get stuck.
// For now, the SessionGroup.AddSession response handler sets mSessionHandle and the SessionStateChangeEvent handler transitions to stateSessionJoined.