summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llcommon/llevents.h12
-rw-r--r--indra/media_plugins/cef/media_plugin_cef.cpp1
-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
7 files changed, 33 insertions, 22 deletions
diff --git a/indra/llcommon/llevents.h b/indra/llcommon/llevents.h
index 5d60c63810..62d97007ac 100644
--- a/indra/llcommon/llevents.h
+++ b/indra/llcommon/llevents.h
@@ -582,11 +582,12 @@ public:
/// Generate a distinct name for a listener -- see listen()
static std::string inventName(const std::string& pfx="listener");
-private:
- friend class LLEventPumps;
/// flush queued events
virtual void flush() {}
+private:
+ friend class LLEventPumps;
+
virtual void reset();
@@ -675,12 +676,14 @@ public:
virtual ~LLEventMailDrop() {}
/// Post an event to all listeners
- virtual bool post(const LLSD& event);
+ virtual bool post(const LLSD& event) override;
+ /// Remove any history stored in the mail drop.
+ virtual void flush() override { mEventHistory.clear(); LLEventStream::flush(); };
protected:
virtual LLBoundListener listen_impl(const std::string& name, const LLEventListener&,
const NameList& after,
- const NameList& before);
+ const NameList& before) override;
private:
typedef std::list<LLSD> EventList;
@@ -703,7 +706,6 @@ public:
/// Post an event to all listeners
virtual bool post(const LLSD& event);
-private:
/// flush queued events
virtual void flush();
diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp
index 2bd5526a86..66b316df90 100644
--- a/indra/media_plugins/cef/media_plugin_cef.cpp
+++ b/indra/media_plugins/cef/media_plugin_cef.cpp
@@ -519,6 +519,7 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
settings.webgl_enabled = true;
settings.log_file = mCefLogFile;
settings.log_verbose = mCefLogVerbose;
+ settings.autoplay_without_gesture = true;
std::vector<std::string> custom_schemes(1, "secondlife");
mCEFLib->setCustomSchemes(custom_schemes);
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.