diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llcommon/llevents.h | 12 | ||||
-rw-r--r-- | indra/media_plugins/cef/media_plugin_cef.cpp | 1 | ||||
-rw-r--r-- | indra/newview/VIEWER_VERSION.txt | 2 | ||||
-rw-r--r-- | indra/newview/llcontrolavatar.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llfloatereditextdaycycle.cpp | 26 | ||||
-rw-r--r-- | indra/newview/llpanelenvironment.cpp | 7 | ||||
-rw-r--r-- | indra/newview/llvoicevivox.cpp | 5 |
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. |