diff options
Diffstat (limited to 'linden/indra')
-rw-r--r-- | linden/indra/newview/lldrawable.cpp | 35 | ||||
-rw-r--r-- | linden/indra/newview/lltoolpie.cpp | 7 | ||||
-rw-r--r-- | linden/indra/newview/llviewerobjectlist.cpp | 3 |
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 | } |