summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Harrison (steven) <steven@lindenlab.com>2019-05-17 16:49:58 +0000
committerSteven Harrison (steven) <steven@lindenlab.com>2019-05-17 16:49:58 +0000
commit771e6344fe5852f9d67df7476e6658d2d3facd73 (patch)
tree80401553637251e6fd598a72f95a0d38f02db859
parent59c93cb861a3cc5ef766ec27f82e7c82fe17f54b (diff)
parente31f4a352d2dfdcc4ccb1be459382054e354f085 (diff)
Pull from viewer-bear and merge
-rw-r--r--indra/llcommon/llevents.h12
-rw-r--r--indra/llui/lllayoutstack.cpp1
-rw-r--r--indra/newview/llappearancemgr.cpp1
-rw-r--r--indra/newview/lltoolpie.cpp19
-rw-r--r--indra/newview/llvoicevivox.cpp5
5 files changed, 14 insertions, 24 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/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp
index b1ba725c2f..955e7089f4 100644
--- a/indra/llui/lllayoutstack.cpp
+++ b/indra/llui/lllayoutstack.cpp
@@ -516,7 +516,6 @@ LLLayoutPanel* LLLayoutStack::findEmbeddedPanel(LLPanel* panelp) const
{
if (!panelp) return NULL;
- e_panel_list_t::const_iterator panel_it;
BOOST_FOREACH(LLLayoutPanel* p, mPanels)
{
if (p == panelp)
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 08daeb0f59..22bcbad7da 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -1865,7 +1865,6 @@ bool LLAppearanceMgr::getCanRemoveOutfit(const LLUUID& outfit_cat_id)
LLFindNonRemovableObjects filter_non_removable;
LLInventoryModel::cat_array_t cats;
LLInventoryModel::item_array_t items;
- LLInventoryModel::item_array_t::const_iterator it;
gInventory.collectDescendentsIf(outfit_cat_id, cats, items, false, filter_non_removable);
if (!cats.empty() || !items.empty())
{
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index 697db01d11..f184b22ccb 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -111,24 +111,9 @@ BOOL LLToolPie::handleMouseDown(S32 x, S32 y, MASK mask)
mMouseOutsideSlop = FALSE;
mMouseDownX = x;
mMouseDownY = y;
- LLTimer pick_timer;
- BOOL pick_rigged = false; //gSavedSettings.getBOOL("AnimatedObjectsAllowLeftClick");
- mPick = gViewerWindow->pickImmediate(x, y, FALSE, pick_rigged);
- LLViewerObject *object = mPick.getObject();
- LLViewerObject *parent = object ? object->getRootEdit() : NULL;
- if (!object
- || object->isAttachment()
- || object->getClickAction() == CLICK_ACTION_DISABLED
- || (!useClickAction(mask, object, parent) && !object->flagHandleTouch() && !(parent && parent->flagHandleTouch())))
- {
- // Unless we are hovering over actionable visible object
- // left mouse down always picks transparent (but see handleMouseUp).
- // Also see LLToolPie::handleHover() - priorities are a bit different there.
- // Todo: we need a more consistent set of rules to work with
- mPick = gViewerWindow->pickImmediate(x, y, TRUE /*transparent*/, pick_rigged);
- }
- LL_INFOS() << "pick_rigged is " << (S32) pick_rigged << " pick time elapsed " << pick_timer.getElapsedTimeF32() << LL_ENDL;
+ //left mouse down always picks transparent (but see handleMouseUp)
+ mPick = gViewerWindow->pickImmediate(x, y, TRUE, FALSE);
mPick.mKeyMask = mask;
mMouseButtonDown = true;
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.