diff options
author | Jacek Antonelli | 2009-10-09 10:11:45 -0500 |
---|---|---|
committer | Jacek Antonelli | 2009-10-09 10:11:45 -0500 |
commit | bb657bd4244d0b1b80f368a30e40531f573d3c5f (patch) | |
tree | aef4e3c075ba760f48963d76c9300b6a8b323bf9 /linden/indra/newview/rlvhandler.h | |
parent | Grid manager no longer appends "/" to URIs. (diff) | |
parent | Fixed money change notification happening after logout/login (diff) | |
download | meta-impy-bb657bd4244d0b1b80f368a30e40531f573d3c5f.zip meta-impy-bb657bd4244d0b1b80f368a30e40531f573d3c5f.tar.gz meta-impy-bb657bd4244d0b1b80f368a30e40531f573d3c5f.tar.bz2 meta-impy-bb657bd4244d0b1b80f368a30e40531f573d3c5f.tar.xz |
Merge remote branch 'mccabe/next' into next
Diffstat (limited to 'linden/indra/newview/rlvhandler.h')
-rw-r--r-- | linden/indra/newview/rlvhandler.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/linden/indra/newview/rlvhandler.h b/linden/indra/newview/rlvhandler.h index df3ff9b..4470632 100644 --- a/linden/indra/newview/rlvhandler.h +++ b/linden/indra/newview/rlvhandler.h | |||
@@ -14,17 +14,11 @@ | |||
14 | #include "rlvmultistringsearch.h" | 14 | #include "rlvmultistringsearch.h" |
15 | 15 | ||
16 | // ============================================================================ | 16 | // ============================================================================ |
17 | /* | ||
18 | * RlvHandler | ||
19 | * ========== | ||
20 | * | ||
21 | */ | ||
22 | 17 | ||
23 | typedef std::map<LLUUID, RlvObject> rlv_object_map_t; | 18 | typedef std::map<LLUUID, RlvObject> rlv_object_map_t; |
24 | typedef std::multimap<S32, LLUUID> rlv_detach_map_t; | 19 | typedef std::multimap<S32, LLUUID> rlv_detach_map_t; |
25 | typedef std::map<S32, LLUUID> rlv_reattach_map_t; | 20 | typedef std::map<S32, LLUUID> rlv_reattach_map_t; |
26 | typedef std::multimap<LLUUID, ERlvBehaviour> rlv_exception_map_t; | 21 | typedef std::multimap<LLUUID, ERlvBehaviour> rlv_exception_map_t; |
27 | typedef std::map<S32, RlvRedirInfo> rlv_redir_map_t; | ||
28 | 22 | ||
29 | class RlvHandler | 23 | class RlvHandler |
30 | { | 24 | { |
@@ -73,6 +67,7 @@ public: | |||
73 | // Returns TRUE if the specified attachment point is detachable | 67 | // Returns TRUE if the specified attachment point is detachable |
74 | bool isDetachable(S32 idxAttachPt) const { return (idxAttachPt) && (m_Attachments.find(idxAttachPt) == m_Attachments.end()); } | 68 | bool isDetachable(S32 idxAttachPt) const { return (idxAttachPt) && (m_Attachments.find(idxAttachPt) == m_Attachments.end()); } |
75 | bool isDetachable(const LLInventoryItem* pItem) const; | 69 | bool isDetachable(const LLInventoryItem* pItem) const; |
70 | bool isDetachable(LLViewerJointAttachment* pAttachPt) const; | ||
76 | bool isDetachable(LLViewerObject* pObj) const; | 71 | bool isDetachable(LLViewerObject* pObj) const; |
77 | // Returns TRUE if the specified attachment point is set undetachable by anything other than pObj (or one of its children) | 72 | // Returns TRUE if the specified attachment point is set undetachable by anything other than pObj (or one of its children) |
78 | bool isDetachableExcept(S32 idxAttachPt, LLViewerObject* pObj) const; | 73 | bool isDetachableExcept(S32 idxAttachPt, LLViewerObject* pObj) const; |
@@ -194,6 +189,7 @@ public: | |||
194 | protected: | 189 | protected: |
195 | BOOL processAddCommand(const LLUUID& uuid, const RlvCommand& rlvCmd); | 190 | BOOL processAddCommand(const LLUUID& uuid, const RlvCommand& rlvCmd); |
196 | BOOL processRemoveCommand(const LLUUID& uuid, const RlvCommand& rlvCmd); | 191 | BOOL processRemoveCommand(const LLUUID& uuid, const RlvCommand& rlvCmd); |
192 | BOOL processClearCommand(const LLUUID& idObj, const RlvCommand& rlvCmd); | ||
197 | BOOL processReplyCommand(const LLUUID& uuid, const RlvCommand& rlvCmd) const; | 193 | BOOL processReplyCommand(const LLUUID& uuid, const RlvCommand& rlvCmd) const; |
198 | BOOL processForceCommand(const LLUUID& uuid, const RlvCommand& rlvCmd) const; | 194 | BOOL processForceCommand(const LLUUID& uuid, const RlvCommand& rlvCmd) const; |
199 | 195 | ||
@@ -234,7 +230,6 @@ protected: | |||
234 | rlv_retained_list_t m_Retained; | 230 | rlv_retained_list_t m_Retained; |
235 | rlv_reattach_map_t m_AttachPending; | 231 | rlv_reattach_map_t m_AttachPending; |
236 | rlv_reattach_map_t m_DetachPending; | 232 | rlv_reattach_map_t m_DetachPending; |
237 | rlv_redir_map_t m_Redirections; | ||
238 | RlvGCTimer* m_pGCTimer; | 233 | RlvGCTimer* m_pGCTimer; |
239 | RlvWLSnapshot* m_pWLSnapshot; | 234 | RlvWLSnapshot* m_pWLSnapshot; |
240 | 235 | ||
@@ -370,6 +365,14 @@ inline bool RlvHandler::hasBehaviourExcept(ERlvBehaviour eBehaviour, const LLUUI | |||
370 | } | 365 | } |
371 | #endif // RLV_EXPERIMENTAL_COMPOSITES | 366 | #endif // RLV_EXPERIMENTAL_COMPOSITES |
372 | 367 | ||
368 | // Checked: 2009-09-08 (RLVa-1.0.2c) | Added: RLVa-1.0.2c | ||
369 | inline bool RlvHandler::isDetachable(LLViewerJointAttachment *pAttachPt) const | ||
370 | { | ||
371 | // If there's an attached object it's faster to just use that; otherwise look up the attachment index because it might be locked empty | ||
372 | return (pAttachPt == NULL) || | ||
373 | ( (pAttachPt->getObject() != NULL) && isDetachable(pAttachPt->getObject()) ) || (isDetachable(getAttachPointIndex(pAttachPt))); | ||
374 | } | ||
375 | |||
373 | // Checked: 2009-05-23 (RLVa-0.2.0d) | Modified: RLVa-0.2.0d | 376 | // Checked: 2009-05-23 (RLVa-0.2.0d) | Modified: RLVa-0.2.0d |
374 | inline bool RlvHandler::isDetachable(LLViewerObject* pObj) const | 377 | inline bool RlvHandler::isDetachable(LLViewerObject* pObj) const |
375 | { | 378 | { |