aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra
diff options
context:
space:
mode:
authorDavid Walter Seikel2011-12-03 17:52:09 +1000
committerDavid Walter Seikel2011-12-03 17:52:09 +1000
commita1f82acebab97347d49a941f67a6df0ce78c29a6 (patch)
treefe5fed4cfd272195072961e883a0e360a279c1b7 /linden/indra
parent/me grins. (diff)
downloadmeta-impy-a1f82acebab97347d49a941f67a6df0ce78c29a6.zip
meta-impy-a1f82acebab97347d49a941f67a6df0ce78c29a6.tar.gz
meta-impy-a1f82acebab97347d49a941f67a6df0ce78c29a6.tar.bz2
meta-impy-a1f82acebab97347d49a941f67a6df0ce78c29a6.tar.xz
Another possible fix for misplaced HUDs?
From singularity commit 69e733ea86ebd7cd5a4acb40ef87735e5c428c53 by Shyotl. From singularity commit 080407d92f2846397472be1ab533a9da7f8b66cb by Shyotl. From singularity commit 88df12ddb6cecf7d46d64531123e4adc23862db1 by Shyotl. Plus some extra fom singularity, but not sure where it came from.
Diffstat (limited to 'linden/indra')
-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 }