From 0a333e9a039288969b3ce207772fee8cbeb2ca83 Mon Sep 17 00:00:00 2001 From: vyacheslavsproductengine Date: Tue, 19 May 2015 19:28:03 +0400 Subject: MAINT-3548 - FIXED-R2 Horizontal & vertical offset values for normal & specular maps still randomly revert to previous settings when building. --- 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 cbc00d8b53..fa7674f772 100755 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -2134,7 +2134,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); + object->setTEMaterialParams(face, NULL, FALSE); } return true; } -- cgit v1.2.3 From 4cf53872eb8cc6d5b950da6aec269811cb2de1e3 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Wed, 24 Jun 2015 18:29:42 +0300 Subject: MAINT-5026 FIXED 256 prim linksets made of smaller prims frequently link only 254 --- indra/newview/llselectmgr.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'indra/newview/llselectmgr.cpp') diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index fa7674f772..2a107deb19 100755 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -4920,6 +4920,7 @@ void LLSelectMgr::sendListToRegions(const std::string& message_name, ESendType send_type) { LLSelectNode* node; + LLSelectNode* linkset_root = NULL; LLViewerRegion* last_region; LLViewerRegion* current_region; @@ -4927,6 +4928,8 @@ void LLSelectMgr::sendListToRegions(const std::string& message_name, S32 packets_sent = 0; S32 objects_in_this_packet = 0; + bool link_operation = message_name == "ObjectLink"; + //clear update override data (allow next update through) struct f : public LLSelectedNodeFunctor { @@ -5035,6 +5038,12 @@ void LLSelectMgr::sendListToRegions(const std::string& message_name, && (! gMessageSystem->isSendFull(NULL)) && (objects_in_this_packet < MAX_OBJECTS_PER_PACKET)) { + if (link_operation && linkset_root == NULL) + { + // linksets over 254 will be split into multiple messages, + // but we need to provide same root for all messages or we will get separate linksets + linkset_root = node; + } // add another instance of the body of the data (*pack_body)(node, user_data); ++objects_sent; @@ -5061,6 +5070,22 @@ void LLSelectMgr::sendListToRegions(const std::string& message_name, gMessageSystem->newMessage(message_name.c_str()); (*pack_header)(user_data); + if (linkset_root != NULL) + { + if (current_region != last_region) + { + // root should be in one region with the child, reset it + linkset_root = NULL; + } + else + { + // add root instance into new message + (*pack_body)(linkset_root, user_data); + ++objects_sent; + ++objects_in_this_packet; + } + } + // don't move to the next object, we still need to add the // body data. } -- cgit v1.2.3 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