From bc8fe00b991522ea310efd2eac3af24a11a05964 Mon Sep 17 00:00:00 2001 From: ruslantproductengine Date: Thu, 3 Sep 2015 19:21:49 +0300 Subject: MAINT-5268 (Rotating an object that's used as grid reference goes crazy) --- indra/newview/llselectmgr.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'indra/newview/llselectmgr.cpp') diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 55bcb3dc65..49a7ab3280 100755 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -1235,7 +1235,13 @@ void LLSelectMgr::getGrid(LLVector3& origin, LLQuaternion &rotation, LLVector3 & } else if (mGridMode == GRID_MODE_REF_OBJECT && first_grid_object && first_grid_object->mDrawable.notNull()) { - mGridRotation = first_grid_object->getRenderRotation(); + LLSelectNode *node = mSelectedObjects->findNode(first_grid_object); + if (node) { + mGridRotation = node->mSavedRotation; + } + else { + mGridRotation = first_grid_object->getRenderRotation(); + } LLVector4a min_extents(F32_MAX); LLVector4a max_extents(-F32_MAX); -- cgit v1.2.3 From 9bfd0f75c3e18a4743e4b5f7e0d5d15d99aca656 Mon Sep 17 00:00:00 2001 From: ruslantproductengine Date: Tue, 8 Sep 2015 20:08:07 +0300 Subject: MAINT-5268 (Rotating an object that's used as grid reference goes crazy) - changeset 2 --- indra/newview/llselectmgr.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'indra/newview/llselectmgr.cpp') diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 49a7ab3280..577c336ac7 100755 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -1236,10 +1236,12 @@ void LLSelectMgr::getGrid(LLVector3& origin, LLQuaternion &rotation, LLVector3 & else if (mGridMode == GRID_MODE_REF_OBJECT && first_grid_object && first_grid_object->mDrawable.notNull()) { LLSelectNode *node = mSelectedObjects->findNode(first_grid_object); - if (node) { + if (node) + { mGridRotation = node->mSavedRotation; } - else { + else + { mGridRotation = first_grid_object->getRenderRotation(); } -- cgit v1.2.3 From 3c26c54e2d467df917e34f21da81c019e9a6190f Mon Sep 17 00:00:00 2001 From: ruslantproductengine Date: Mon, 19 Oct 2015 15:26:58 +0300 Subject: MAINT-5268 FIXED Rotating an object that's used as grid reference goes crazy --- indra/newview/llselectmgr.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llselectmgr.cpp') diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 577c336ac7..1a09b99e73 100755 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -1210,7 +1210,7 @@ void LLSelectMgr::setGridMode(EGridMode mode) updateSelectionCenter(); } -void LLSelectMgr::getGrid(LLVector3& origin, LLQuaternion &rotation, LLVector3 &scale) +void LLSelectMgr::getGrid(LLVector3& origin, LLQuaternion &rotation, LLVector3 &scale, bool for_snap_guides) { mGridObjects.cleanupNodes(); @@ -1236,7 +1236,7 @@ void LLSelectMgr::getGrid(LLVector3& origin, LLQuaternion &rotation, LLVector3 & else if (mGridMode == GRID_MODE_REF_OBJECT && first_grid_object && first_grid_object->mDrawable.notNull()) { LLSelectNode *node = mSelectedObjects->findNode(first_grid_object); - if (node) + if (!for_snap_guides && node) { mGridRotation = node->mSavedRotation; } -- cgit v1.2.3 From 049c795b1276202a844ea54c9129515238127b3c Mon Sep 17 00:00:00 2001 From: ruslantproductengine Date: Wed, 11 Nov 2015 17:59:14 +0200 Subject: Backed out changeset: a79540758404 Need backed out this changes because it influence on material update see: MAINT-5818 Also this lead to the following: UserA and UserB logged in same location. UserA edit normal/specular map texture offsets while UserB is not observe this changes. --- indra/newview/llselectmgr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llselectmgr.cpp') diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 1a09b99e73..7620046ee3 100755 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -2135,7 +2135,7 @@ void LLSelectMgr::selectionRemoveMaterial() { LL_DEBUGS("Materials") << "Removing material from object " << object->getID() << " face " << face << LL_ENDL; LLMaterialMgr::getInstance()->remove(object->getID(),face); - object->setTEMaterialParams(face, NULL, FALSE); + object->setTEMaterialParams(face, NULL); } return true; } -- cgit v1.2.3