diff options
Diffstat (limited to 'indra/newview/llselectmgr.cpp')
| -rw-r--r-- | indra/newview/llselectmgr.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 3eddc04259..4b2445459f 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -231,6 +231,9 @@ LLObjectSelectionHandle LLSelectMgr::selectObjectOnly(LLViewerObject* object, S3 { llassert( object ); + //remember primary object + mSelectedObjects->mPrimaryObject = object; + // Don't add an object that is already in the list if (object->isSelected() ) { // make sure point at position is updated @@ -291,6 +294,9 @@ LLObjectSelectionHandle LLSelectMgr::selectObjectAndFamily(LLViewerObject* obj, { llassert( obj ); + //remember primary object + mSelectedObjects->mPrimaryObject = obj; + // This may be incorrect if things weren't family selected before... - djs 07/08/02 // Don't add an object that is already in the list if (obj->isSelected() ) @@ -372,6 +378,9 @@ LLObjectSelectionHandle LLSelectMgr::selectObjectAndFamily(const LLDynamicArray< LLViewerObject *object; S32 i; + //clear primary object (no primary object) + mSelectedObjects->mPrimaryObject = NULL; + if (object_list.count() < 1) return NULL; // NOTE -- we add the objects in REVERSE ORDER @@ -842,6 +851,9 @@ LLObjectSelectionHandle LLSelectMgr::selectHighlightedObjects() return NULL; } + //clear primary object + mSelectedObjects->mPrimaryObject = NULL; + LLSelectNode *nodep; for (nodep = mHighlightedObjects->getFirstNode(); nodep; |
