From c0eb697a53b22e266fa5437edde59395afcd2c7b Mon Sep 17 00:00:00 2001 From: Rick Pasetto Date: Mon, 14 Dec 2009 17:39:24 -0800 Subject: Change LLViewerMedia::isInterestingEnough() to also check selection If the object is in the selection, its interesting. Load its media data ASAP. Conceptually reviewed by monroe --- indra/newview/llviewermedia.cpp | 15 +++++++++++++-- indra/newview/llviewermedia.h | 2 +- indra/newview/llvovolume.cpp | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 367c0c8343..103a70e032 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -561,11 +561,22 @@ bool LLViewerMedia::getInWorldMediaDisabled() ////////////////////////////////////////////////////////////////////////////////////////// // static -bool LLViewerMedia::isInterestingEnough(const LLUUID &object_id, const F64 &object_interest) +bool LLViewerMedia::isInterestingEnough(const LLVOVolume *object, const F64 &object_interest) { bool result = false; - if (LLViewerMediaFocus::getInstance()->getFocusedObjectID() == object_id) + if (NULL == object) + { + result = false; + } + // Focused? Then it is interesting! + else if (LLViewerMediaFocus::getInstance()->getFocusedObjectID() == object->getID()) + { + result = true; + } + // Selected? Then it is interesting! + // XXX Sadly, 'contains()' doesn't take a const :( + else if (LLSelectMgr::getInstance()->getSelection()->contains(const_cast(object))) { result = true; } diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h index 26b822aba6..7151186089 100644 --- a/indra/newview/llviewermedia.h +++ b/indra/newview/llviewermedia.h @@ -112,7 +112,7 @@ class LLViewerMedia static void setInWorldMediaDisabled(bool disabled); static bool getInWorldMediaDisabled(); - static bool isInterestingEnough(const LLUUID& object_id, const F64 &object_interest); + static bool isInterestingEnough(const LLVOVolume* object, const F64 &object_interest); // Returns the priority-sorted list of all media impls. static impl_list &getPriorityList(); diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 801bd90423..d24edacd13 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -139,7 +139,7 @@ public: } virtual bool isInterestingEnough() const { - return LLViewerMedia::isInterestingEnough(mObject->getID(), getMediaInterest()); + return LLViewerMedia::isInterestingEnough(mObject, getMediaInterest()); } virtual std::string getCapabilityUrl(const std::string &name) const -- cgit v1.2.3