diff options
author | Steven Bennetts <steve@lindenlab.com> | 2008-02-01 02:23:35 +0000 |
---|---|---|
committer | Steven Bennetts <steve@lindenlab.com> | 2008-02-01 02:23:35 +0000 |
commit | b302f15deea0f4f7f5de75bfd3776c17021b6444 (patch) | |
tree | 7a2842445c8dd6c8537bd9f8d4d171e95b85a845 /indra/newview/llselectmgr.cpp | |
parent | 6ae0a9e2c1ac51385c341ff4a93384950e2e7e40 (diff) |
EFFECTIVE MERGE: maint-viewer-3 -r 77368:77381 -> release
ACTUAL MERGE: merge maint-viewer-3-merge -r 79051 -> release
Diffstat (limited to 'indra/newview/llselectmgr.cpp')
-rw-r--r-- | indra/newview/llselectmgr.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index ddd73fc0df..511fd73ef7 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -612,6 +612,10 @@ void LLSelectMgr::deselectObjectAndFamily(LLViewerObject* object, BOOL send_to_s msg->addU32Fast(_PREHASH_ObjectLocalID, (objects[i])->getLocalID()); select_count++; + // Zap the angular velocity, as the sim will set it to zero + objects[i]->setAngularVelocity( 0,0,0 ); + objects[i]->setVelocity( 0,0,0 ); + if(msg->isSendFull(NULL) || select_count >= MAX_OBJECTS_PER_PACKET) { msg->sendReliable(regionp->getHost() ); @@ -635,6 +639,10 @@ void LLSelectMgr::deselectObjectOnly(LLViewerObject* object, BOOL send_to_sim) if (!object) return; if (!object->isSelected() ) return; + // Zap the angular velocity, as the sim will set it to zero + object->setAngularVelocity( 0,0,0 ); + object->setVelocity( 0,0,0 ); + if (send_to_sim) { LLViewerRegion* region = object->getRegion(); @@ -3276,6 +3284,15 @@ void LLSelectMgr::deselectAll() return; } + // Zap the angular velocity, as the sim will set it to zero + for (LLObjectSelection::iterator iter = mSelectedObjects->begin(); + iter != mSelectedObjects->end(); iter++ ) + { + LLViewerObject *objectp = (*iter)->getObject(); + objectp->setAngularVelocity( 0,0,0 ); + objectp->setVelocity( 0,0,0 ); + } + sendListToRegions( "ObjectDeselect", packAgentAndSessionID, @@ -3429,7 +3446,7 @@ void LLSelectMgr::sendAttach(U8 attachment_point) BOOL build_mode = gToolMgr->inEdit(); // Special case: Attach to default location for this object. if (0 == attachment_point || - gAgent.getAvatarObject()->mAttachmentPoints.getIfThere(attachment_point)) + get_if_there(gAgent.getAvatarObject()->mAttachmentPoints, (S32)attachment_point, (LLViewerJointAttachment*)NULL)) { sendListToRegions( "ObjectAttach", |