aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/lldrawable.cpp35
-rw-r--r--linden/indra/newview/lltoolpie.cpp7
-rw-r--r--linden/indra/newview/llviewerobjectlist.cpp3
3 files changed, 40 insertions, 5 deletions
diff --git a/linden/indra/newview/lldrawable.cpp b/linden/indra/newview/lldrawable.cpp
index 5a383bc..7ab5ade 100644
--- a/linden/indra/newview/lldrawable.cpp
+++ b/linden/indra/newview/lldrawable.cpp
@@ -1225,6 +1225,12 @@ void LLSpatialBridge::setVisible(LLCamera& camera_in, std::vector<LLDrawable*>*
1225 return; 1225 return;
1226 } 1226 }
1227 } 1227 }
1228// From singularity commit 69e733ea86ebd7cd5a4acb40ef87735e5c428c53 by Shyotl.
1229// TODO: Is THIS what is causing HUD monsters?
1230 else
1231 {
1232 return;
1233 }
1228 } 1234 }
1229 1235
1230 1236
@@ -1278,12 +1284,33 @@ void LLSpatialBridge::updateDistance(LLCamera& camera_in, bool force_update)
1278 return; 1284 return;
1279 } 1285 }
1280 1286
1281 LLCamera camera = transformCamera(camera_in);
1282
1283 mDrawable->updateDistance(camera, force_update);
1284
1285 if (mDrawable->getVObj()) 1287 if (mDrawable->getVObj())
1286 { 1288 {
1289
1290// Some more taken from singularity, but not sure of the origin.
1291 if (mDrawable->getVObj()->isAttachment())
1292 {
1293 LLDrawable* parent = mDrawable->getParent();
1294 if (parent)
1295 {
1296 LLViewerObject *obj = parent->getVObj();
1297 if (obj && obj->isAvatar() && ((LLVOAvatar*)obj)->isImpostor())
1298 {
1299 return;
1300 }
1301 }
1302// From singularity commit 69e733ea86ebd7cd5a4acb40ef87735e5c428c53 by Shyotl.
1303// TODO: Is THIS what is causing HUD monsters?
1304 else
1305 {
1306 return;
1307 }
1308 }
1309
1310 LLCamera camera = transformCamera(camera_in);
1311
1312 mDrawable->updateDistance(camera, force_update);
1313
1287 LLViewerObject::const_child_list_t& child_list = mDrawable->getVObj()->getChildren(); 1314 LLViewerObject::const_child_list_t& child_list = mDrawable->getVObj()->getChildren();
1288 for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin(); 1315 for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin();
1289 iter != child_list.end(); iter++) 1316 iter != child_list.end(); iter++)
diff --git a/linden/indra/newview/lltoolpie.cpp b/linden/indra/newview/lltoolpie.cpp
index 429b9d4..7cab0eb 100644
--- a/linden/indra/newview/lltoolpie.cpp
+++ b/linden/indra/newview/lltoolpie.cpp
@@ -394,6 +394,13 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show)
394 object = (LLViewerObject*)object->getParent(); 394 object = (LLViewerObject*)object->getParent();
395 } 395 }
396 396
397// From singularity commit 080407d92f2846397472be1ab533a9da7f8b66cb by Shyotl.
398// TODO: Is THIS what is causing HUD monsters to cause crashes?
399 if (!object)
400 {
401 return TRUE; // unexpected, but escape
402 }
403
397 // Object is an avatar, so check for mute by id. 404 // Object is an avatar, so check for mute by id.
398 LLVOAvatar* avatar = (LLVOAvatar*)object; 405 LLVOAvatar* avatar = (LLVOAvatar*)object;
399 std::string name = avatar->getFullname(); 406 std::string name = avatar->getFullname();
diff --git a/linden/indra/newview/llviewerobjectlist.cpp b/linden/indra/newview/llviewerobjectlist.cpp
index ad92fe3..ea6ecd8 100644
--- a/linden/indra/newview/llviewerobjectlist.cpp
+++ b/linden/indra/newview/llviewerobjectlist.cpp
@@ -464,7 +464,8 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys,
464 464
465 if (objectp->getRegion() != regionp) 465 if (objectp->getRegion() != regionp)
466 { // Object changed region, so update it 466 { // Object changed region, so update it
467 objectp->setRegion(regionp); 467// From singularity commit 88df12ddb6cecf7d46d64531123e4adc23862db1 by Shyotl.
468// TODO: Is THIS what is causing HUD monsters? objectp->setRegion(regionp);
468 objectp->updateRegion(regionp); // for LLVOAvatar 469 objectp->updateRegion(regionp); // for LLVOAvatar
469 } 470 }
470 } 471 }