diff options
-rw-r--r-- | linden/indra/newview/app_settings/logcontrol.xml | 29 | ||||
-rw-r--r-- | linden/indra/newview/llagent.cpp | 18 | ||||
-rw-r--r-- | linden/indra/newview/llagent.h | 5 | ||||
-rw-r--r-- | linden/indra/newview/llappviewer.cpp | 11 | ||||
-rw-r--r-- | linden/indra/newview/lltexturefetch.cpp | 3 | ||||
-rw-r--r-- | linden/indra/newview/lltoolpie.cpp | 15 | ||||
-rw-r--r-- | linden/indra/newview/lltoolpie.h | 3 | ||||
-rw-r--r-- | linden/indra/newview/llviewermenu.cpp | 40 | ||||
-rw-r--r-- | linden/indra/newview/llviewermenu.h | 7 | ||||
-rw-r--r-- | linden/indra/newview/llviewerobject.cpp | 1 | ||||
-rw-r--r-- | linden/indra/newview/llviewerparcelmgr.cpp | 1 | ||||
-rw-r--r-- | linden/indra/newview/llviewerparceloverlay.cpp | 1 | ||||
-rw-r--r-- | linden/indra/newview/llviewerregion.cpp | 13 | ||||
-rw-r--r-- | linden/indra/newview/llvoavatar.cpp | 22 | ||||
-rw-r--r-- | linden/indra/newview/llvoavatardefines.h | 3 | ||||
-rw-r--r-- | linden/indra/newview/llwearablelist.cpp | 8 | ||||
-rw-r--r-- | linden/indra/newview/llwlparammanager.cpp | 6 |
17 files changed, 132 insertions, 54 deletions
diff --git a/linden/indra/newview/app_settings/logcontrol.xml b/linden/indra/newview/app_settings/logcontrol.xml index 9179887..e0a5dc0 100644 --- a/linden/indra/newview/app_settings/logcontrol.xml +++ b/linden/indra/newview/app_settings/logcontrol.xml | |||
@@ -40,29 +40,34 @@ | |||
40 | </array> | 40 | </array> |
41 | <key>tags</key> | 41 | <key>tags</key> |
42 | <array> | 42 | <array> |
43 | <string>DBUS</string> | 43 | |
44 | <!--Unused debug messages below--><!-- | 44 | <!--Unused debug messages below--><!-- |
45 | <string>DBUS</string> | ||
45 | <string>OpenAL</string> | 46 | <string>OpenAL</string> |
46 | <string>APR</string> | 47 | <string>APR</string> |
47 | <string>AudioEngine</string> | 48 | <string>AudioEngine</string> |
48 | <string>MediaImpl</string> | 49 | <string>MediaImpl</string> |
49 | <string>MediaInfo</string> | 50 | <string>MediaInfo</string> |
50 | <string>MediaCallback</string> | 51 | <string>MediaCallback</string> |
51 | <string>MediaBuffering</string> | 52 | <string>MediaBuffering</string> |
52 | <string>MediaManager</string> | 53 | <string>MediaManager</string> |
53 | <string>MediaState</string> | 54 | <string>MediaState</string> |
55 | |||
56 | <string>Messaging</string> | ||
54 | <string>ShaderLoading</string> | 57 | <string>ShaderLoading</string> |
55 | <string>XMLNode</string> | 58 | |
56 | <string>Openjpeg</string> | 59 | <string>Openjpeg</string> |
60 | <string>RLV</string> | ||
61 | <string>VOAvatar</string> | ||
62 | |||
63 | <string>ViewerImages</string> | ||
64 | <string>Throttle</string> | ||
65 | <string>Voice</string> | ||
66 | <string>VivoxProtocolParser</string> | ||
67 | <string>Wearable</string> | ||
57 | 68 | ||
58 | 69 | <string>XMLNode</string> | |
59 | <string>RLV</string> | 70 | --> |
60 | <string>Messaging</string> | ||
61 | <string>ViewerImages</string> | ||
62 | <string>Throttle</string> | ||
63 | <string>Voice</string> | ||
64 | <string>VivoxProtocolParser</string> | ||
65 | <string>Wearable</string>--> | ||
66 | </array> | 71 | </array> |
67 | </map> | 72 | </map> |
68 | </array> | 73 | </array> |
diff --git a/linden/indra/newview/llagent.cpp b/linden/indra/newview/llagent.cpp index 8c455a5..c44fe3a 100644 --- a/linden/indra/newview/llagent.cpp +++ b/linden/indra/newview/llagent.cpp | |||
@@ -450,6 +450,7 @@ void LLAgent::init() | |||
450 | mEffectColor = gSavedSettings.getColor4("EffectColor"); | 450 | mEffectColor = gSavedSettings.getColor4("EffectColor"); |
451 | 451 | ||
452 | mInitialized = TRUE; | 452 | mInitialized = TRUE; |
453 | LL_DEBUGS("VOAvatar")<< "ctor of LLAgent" << LL_ENDL; | ||
453 | } | 454 | } |
454 | 455 | ||
455 | //----------------------------------------------------------------------------- | 456 | //----------------------------------------------------------------------------- |
@@ -457,11 +458,21 @@ void LLAgent::init() | |||
457 | //----------------------------------------------------------------------------- | 458 | //----------------------------------------------------------------------------- |
458 | void LLAgent::cleanup() | 459 | void LLAgent::cleanup() |
459 | { | 460 | { |
460 | mInitialized = FALSE; | 461 | // cleanup wearables |
462 | for( S32 i = 0; i < WT_COUNT; i++ ) | ||
463 | { | ||
464 | mWearableEntry[ i ].mWearable = NULL; | ||
465 | mWearableEntry[ i ].mItemID.setNull(); | ||
466 | } | ||
461 | mWearablesLoaded = FALSE; | 467 | mWearablesLoaded = FALSE; |
468 | |||
469 | mInitialized = FALSE; | ||
462 | mShowAvatar = TRUE; | 470 | mShowAvatar = TRUE; |
463 | 471 | ||
464 | setSitCamera(LLUUID::null); | 472 | setSitCamera(LLUUID::null); |
473 | |||
474 | mAvatarObject->markDead(); | ||
475 | |||
465 | mAvatarObject = NULL; | 476 | mAvatarObject = NULL; |
466 | if(mLookAt) | 477 | if(mLookAt) |
467 | { | 478 | { |
@@ -475,6 +486,7 @@ void LLAgent::cleanup() | |||
475 | } | 486 | } |
476 | mRegionp = NULL; | 487 | mRegionp = NULL; |
477 | setFocusObject(NULL); | 488 | setFocusObject(NULL); |
489 | LL_DEBUGS("VOAvatar")<< "LLAgent cleanup()" << LL_ENDL; | ||
478 | } | 490 | } |
479 | 491 | ||
480 | //----------------------------------------------------------------------------- | 492 | //----------------------------------------------------------------------------- |
@@ -482,11 +494,13 @@ void LLAgent::cleanup() | |||
482 | //----------------------------------------------------------------------------- | 494 | //----------------------------------------------------------------------------- |
483 | LLAgent::~LLAgent() | 495 | LLAgent::~LLAgent() |
484 | { | 496 | { |
497 | LL_DEBUGS("VOAvatar")<< "LLAgent dtor begin" << LL_ENDL; | ||
485 | cleanup(); | 498 | cleanup(); |
486 | 499 | ||
487 | delete [] mActiveCacheQueries; | 500 | delete [] mActiveCacheQueries; |
488 | mActiveCacheQueries = NULL; | 501 | mActiveCacheQueries = NULL; |
489 | 502 | ||
503 | LL_DEBUGS("VOAvatar")<< "LLAgent dtor end" << LL_ENDL; | ||
490 | // *Note: this is where LLViewerCamera::getInstance() used to be deleted. | 504 | // *Note: this is where LLViewerCamera::getInstance() used to be deleted. |
491 | } | 505 | } |
492 | 506 | ||
@@ -7920,6 +7934,8 @@ void LLAgent::userRemoveAllClothesStep2( BOOL proceed, void* userdata ) | |||
7920 | 7934 | ||
7921 | void LLAgent::userRemoveAllAttachments( void* userdata ) | 7935 | void LLAgent::userRemoveAllAttachments( void* userdata ) |
7922 | { | 7936 | { |
7937 | LL_DEBUGS("VOAvatar")<< "userRemoveAllAttachments" << LL_ENDL; | ||
7938 | |||
7923 | LLVOAvatar* avatarp = gAgent.getAvatarObject(); | 7939 | LLVOAvatar* avatarp = gAgent.getAvatarObject(); |
7924 | if(!avatarp) | 7940 | if(!avatarp) |
7925 | { | 7941 | { |
diff --git a/linden/indra/newview/llagent.h b/linden/indra/newview/llagent.h index a6f1d74..798de8c 100644 --- a/linden/indra/newview/llagent.h +++ b/linden/indra/newview/llagent.h | |||
@@ -796,9 +796,11 @@ private: | |||
796 | std::set<U64> mRegionsVisited; // stat - what distinct regions has the avatar been to? | 796 | std::set<U64> mRegionsVisited; // stat - what distinct regions has the avatar been to? |
797 | F64 mDistanceTraveled; // stat - how far has the avatar moved? | 797 | F64 mDistanceTraveled; // stat - how far has the avatar moved? |
798 | LLVector3d mLastPositionGlobal; // Used to calculate travel distance | 798 | LLVector3d mLastPositionGlobal; // Used to calculate travel distance |
799 | protected: | ||
799 | 800 | ||
800 | LLPointer<LLVOAvatar> mAvatarObject; // NULL until avatar object sent down from simulator | ||
801 | 801 | ||
802 | LLPointer<LLVOAvatar> mAvatarObject; // NULL until avatar object sent down from simulator | ||
803 | private: | ||
802 | U8 mRenderState; // Current behavior state of agent | 804 | U8 mRenderState; // Current behavior state of agent |
803 | LLFrameTimer mTypingTimer; | 805 | LLFrameTimer mTypingTimer; |
804 | 806 | ||
@@ -912,6 +914,7 @@ private: | |||
912 | S32 mCurrentFidget; | 914 | S32 mCurrentFidget; |
913 | BOOL mFirstLogin; | 915 | BOOL mFirstLogin; |
914 | BOOL mGenderChosen; | 916 | BOOL mGenderChosen; |
917 | |||
915 | 918 | ||
916 | //-------------------------------------------------------------------- | 919 | //-------------------------------------------------------------------- |
917 | // Wearables | 920 | // Wearables |
diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index bd32d28..7e22dce 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp | |||
@@ -1365,8 +1365,12 @@ bool LLAppViewer::cleanup() | |||
1365 | 1365 | ||
1366 | // PerAccountSettingsFile should be empty if no use has been logged on. | 1366 | // PerAccountSettingsFile should be empty if no use has been logged on. |
1367 | // *FIX:Mani This should get really saved in a "logoff" mode. | 1367 | // *FIX:Mani This should get really saved in a "logoff" mode. |
1368 | gSavedPerAccountSettings.saveToFile(gSavedSettings.getString("PerAccountSettingsFile"), TRUE); | 1368 | std::string per_account_settings_filename = gSavedSettings.getString("PerAccountSettingsFile"); |
1369 | llinfos << "Saved settings" << llendflush; | 1369 | if (!per_account_settings_filename.empty()) |
1370 | { | ||
1371 | gSavedPerAccountSettings.saveToFile(per_account_settings_filename, TRUE); | ||
1372 | llinfos << "Saved settings" << llendflush; | ||
1373 | } | ||
1370 | 1374 | ||
1371 | std::string crash_settings_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, CRASH_SETTINGS_FILE); | 1375 | std::string crash_settings_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, CRASH_SETTINGS_FILE); |
1372 | // save all settings, even if equals defaults | 1376 | // save all settings, even if equals defaults |
@@ -3989,7 +3993,7 @@ void LLAppViewer::disconnectViewer() | |||
3989 | 3993 | ||
3990 | // close inventory interface, close all windows | 3994 | // close inventory interface, close all windows |
3991 | LLInventoryView::cleanup(); | 3995 | LLInventoryView::cleanup(); |
3992 | 3996 | cleanup_menus(); | |
3993 | // Also writes cached agent settings to gSavedSettings | 3997 | // Also writes cached agent settings to gSavedSettings |
3994 | gAgent.cleanup(); | 3998 | gAgent.cleanup(); |
3995 | 3999 | ||
@@ -4000,7 +4004,6 @@ void LLAppViewer::disconnectViewer() | |||
4000 | // call all self-registered classes | 4004 | // call all self-registered classes |
4001 | LLDestroyClassList::instance().fireCallbacks(); | 4005 | LLDestroyClassList::instance().fireCallbacks(); |
4002 | 4006 | ||
4003 | cleanup_xfer_manager(); | ||
4004 | gDisconnected = TRUE; | 4007 | gDisconnected = TRUE; |
4005 | if (mQuitRequested) | 4008 | if (mQuitRequested) |
4006 | cleanup_xfer_manager(); | 4009 | cleanup_xfer_manager(); |
diff --git a/linden/indra/newview/lltexturefetch.cpp b/linden/indra/newview/lltexturefetch.cpp index 62b4c8b..4175012 100644 --- a/linden/indra/newview/lltexturefetch.cpp +++ b/linden/indra/newview/lltexturefetch.cpp | |||
@@ -38,6 +38,7 @@ | |||
38 | 38 | ||
39 | #include "lltexturefetch.h" | 39 | #include "lltexturefetch.h" |
40 | 40 | ||
41 | #include "llappviewer.h" | ||
41 | #include "llcurl.h" | 42 | #include "llcurl.h" |
42 | #include "lldir.h" | 43 | #include "lldir.h" |
43 | #include "llhttpclient.h" | 44 | #include "llhttpclient.h" |
@@ -580,7 +581,7 @@ bool LLTextureFetchWorker::doWork(S32 param) | |||
580 | } | 581 | } |
581 | } | 582 | } |
582 | 583 | ||
583 | if (mFetcher->mDebugPause) | 584 | if (mFetcher->mDebugPause|| gDisconnected) |
584 | { | 585 | { |
585 | return false; // debug: don't do any work | 586 | return false; // debug: don't do any work |
586 | } | 587 | } |
diff --git a/linden/indra/newview/lltoolpie.cpp b/linden/indra/newview/lltoolpie.cpp index 626831f..0241d81 100644 --- a/linden/indra/newview/lltoolpie.cpp +++ b/linden/indra/newview/lltoolpie.cpp | |||
@@ -149,6 +149,7 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show) | |||
149 | // didn't click in any UI object, so must have clicked in the world | 149 | // didn't click in any UI object, so must have clicked in the world |
150 | LLViewerObject *object = mPick.getObject(); | 150 | LLViewerObject *object = mPick.getObject(); |
151 | LLViewerObject *parent = NULL; | 151 | LLViewerObject *parent = NULL; |
152 | bool is_self = (object == gAgent.getAvatarObject()); | ||
152 | 153 | ||
153 | if (mPick.mPickType != LLPickInfo::PICK_LAND) | 154 | if (mPick.mPickType != LLPickInfo::PICK_LAND) |
154 | { | 155 | { |
@@ -283,7 +284,7 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show) | |||
283 | } | 284 | } |
284 | object = (LLViewerObject*)object->getParent(); | 285 | object = (LLViewerObject*)object->getParent(); |
285 | } | 286 | } |
286 | if (object && object == gAgent.getAvatarObject()) | 287 | if (object && is_self) |
287 | { | 288 | { |
288 | // we left clicked on avatar, switch to focus mode | 289 | // we left clicked on avatar, switch to focus mode |
289 | LLToolMgr::getInstance()->setTransientTool(LLToolCamera::getInstance()); | 290 | LLToolMgr::getInstance()->setTransientTool(LLToolCamera::getInstance()); |
@@ -323,16 +324,16 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show) | |||
323 | effectp->setColor(LLColor4U(gAgent.getEffectColor())); | 324 | effectp->setColor(LLColor4U(gAgent.getEffectColor())); |
324 | effectp->setDuration(0.25f); | 325 | effectp->setDuration(0.25f); |
325 | } | 326 | } |
326 | else if (mPick.mObjectID == gAgent.getID() ) | 327 | else if (object && is_self) |
327 | { | 328 | { |
328 | if(!gPieSelf) | 329 | // if(gPieSelf) |
329 | { | 330 | // { |
330 | //either at very early startup stage or at late quitting stage, | 331 | //either at very early startup stage or at late quitting stage, |
331 | //this event is ignored. | 332 | //this event is ignored. |
332 | return TRUE ; | 333 | gPieSelf->show(x, y, mPieMouseButtonDown); |
333 | } | 334 | // } |
335 | |||
334 | 336 | ||
335 | gPieSelf->show(x, y, mPieMouseButtonDown); | ||
336 | } | 337 | } |
337 | else if (object) | 338 | else if (object) |
338 | { | 339 | { |
diff --git a/linden/indra/newview/lltoolpie.h b/linden/indra/newview/lltoolpie.h index 83df03c..113fba7 100644 --- a/linden/indra/newview/lltoolpie.h +++ b/linden/indra/newview/lltoolpie.h | |||
@@ -83,9 +83,10 @@ private: | |||
83 | BOOL mGrabMouseButtonDown; | 83 | BOOL mGrabMouseButtonDown; |
84 | BOOL mMouseOutsideSlop; // for this drag, has mouse moved outside slop region | 84 | BOOL mMouseOutsideSlop; // for this drag, has mouse moved outside slop region |
85 | LLPickInfo mPick; | 85 | LLPickInfo mPick; |
86 | LLPointer<LLViewerObject> mClickActionObject; | ||
87 | U8 mClickAction; | 86 | U8 mClickAction; |
88 | LLSafeHandle<LLObjectSelection> mLeftClickSelection; | 87 | LLSafeHandle<LLObjectSelection> mLeftClickSelection; |
88 | protected: | ||
89 | LLPointer<LLViewerObject> mClickActionObject; | ||
89 | }; | 90 | }; |
90 | 91 | ||
91 | 92 | ||
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp index 770384a..a0d3574 100644 --- a/linden/indra/newview/llviewermenu.cpp +++ b/linden/indra/newview/llviewermenu.cpp | |||
@@ -1,4 +1,3 @@ | |||
1 | |||
2 | /** | 1 | /** |
3 | * @file llviewermenu.cpp | 2 | * @file llviewermenu.cpp |
4 | * @brief Builds menus out of items. | 3 | * @brief Builds menus out of items. |
@@ -589,11 +588,6 @@ void set_underclothes_menu_options() | |||
589 | 588 | ||
590 | void init_menus() | 589 | void init_menus() |
591 | { | 590 | { |
592 | if (gMenuHolder) | ||
593 | { | ||
594 | cleanup_menus(); | ||
595 | } | ||
596 | |||
597 | S32 top = gViewerWindow->getRootView()->getRect().getHeight(); | 591 | S32 top = gViewerWindow->getRootView()->getRect().getHeight(); |
598 | S32 width = gViewerWindow->getRootView()->getRect().getWidth(); | 592 | S32 width = gViewerWindow->getRootView()->getRect().getWidth(); |
599 | 593 | ||
@@ -1554,9 +1548,39 @@ static std::vector<LLPointer<view_listener_t> > sMenus; | |||
1554 | //----------------------------------------------------------------------------- | 1548 | //----------------------------------------------------------------------------- |
1555 | void cleanup_menus() | 1549 | void cleanup_menus() |
1556 | { | 1550 | { |
1551 | LL_DEBUGS("AFK") << "cleanup_menus start" << LL_ENDL; | ||
1552 | sMenus.clear(); | ||
1553 | |||
1557 | delete gMenuParcelObserver; | 1554 | delete gMenuParcelObserver; |
1558 | gMenuParcelObserver = NULL; | 1555 | gMenuParcelObserver = NULL; |
1559 | 1556 | ||
1557 | |||
1558 | delete gAttachPieMenu; | ||
1559 | gAttachPieMenu = NULL; | ||
1560 | |||
1561 | delete gDetachPieMenu; | ||
1562 | gDetachPieMenu = NULL; | ||
1563 | |||
1564 | delete gAttachScreenPieMenu; | ||
1565 | gAttachScreenPieMenu = NULL; | ||
1566 | |||
1567 | delete gDetachScreenPieMenu; | ||
1568 | gDetachScreenPieMenu = NULL; | ||
1569 | |||
1570 | for (int i = 0 ; i < 8 ; i++) | ||
1571 | { | ||
1572 | if (gAttachBodyPartPieMenus[i]) | ||
1573 | { | ||
1574 | delete gAttachBodyPartPieMenus[i]; | ||
1575 | gAttachBodyPartPieMenus[i] = NULL; | ||
1576 | } | ||
1577 | if (gAttachBodyPartPieMenus[i]) | ||
1578 | { | ||
1579 | delete gDetachBodyPartPieMenus[i]; | ||
1580 | gDetachBodyPartPieMenus[i] = NULL; | ||
1581 | } | ||
1582 | } | ||
1583 | |||
1560 | delete gPieSelf; | 1584 | delete gPieSelf; |
1561 | gPieSelf = NULL; | 1585 | gPieSelf = NULL; |
1562 | 1586 | ||
@@ -1584,7 +1608,6 @@ void cleanup_menus() | |||
1584 | delete gMenuHolder; | 1608 | delete gMenuHolder; |
1585 | gMenuHolder = NULL; | 1609 | gMenuHolder = NULL; |
1586 | 1610 | ||
1587 | sMenus.clear(); | ||
1588 | } | 1611 | } |
1589 | 1612 | ||
1590 | //----------------------------------------------------------------------------- | 1613 | //----------------------------------------------------------------------------- |
@@ -2767,6 +2790,7 @@ class LLAvatarEnableFreezeEject : public view_listener_t | |||
2767 | 2790 | ||
2768 | if (new_value) | 2791 | if (new_value) |
2769 | { | 2792 | { |
2793 | LL_DEBUGS("isOwnedSelf")<< " viewermenu" << LL_ENDL; | ||
2770 | new_value = region->isOwnedSelf(pos); | 2794 | new_value = region->isOwnedSelf(pos); |
2771 | if (!new_value || region->isOwnedGroup(pos)) | 2795 | if (!new_value || region->isOwnedGroup(pos)) |
2772 | { | 2796 | { |
@@ -6527,7 +6551,9 @@ class LLAttachmentEnableDrop : public view_listener_t | |||
6527 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | 6551 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) |
6528 | { | 6552 | { |
6529 | if (gDisconnected) | 6553 | if (gDisconnected) |
6554 | { | ||
6530 | return true; | 6555 | return true; |
6556 | } | ||
6531 | BOOL can_build = gAgent.isGodlike() || (LLViewerParcelMgr::getInstance()->agentCanBuild()); | 6557 | BOOL can_build = gAgent.isGodlike() || (LLViewerParcelMgr::getInstance()->agentCanBuild()); |
6532 | 6558 | ||
6533 | //Add an inventory observer to only allow dropping the newly attached item | 6559 | //Add an inventory observer to only allow dropping the newly attached item |
diff --git a/linden/indra/newview/llviewermenu.h b/linden/indra/newview/llviewermenu.h index 560edc8..632f783 100644 --- a/linden/indra/newview/llviewermenu.h +++ b/linden/indra/newview/llviewermenu.h | |||
@@ -153,13 +153,14 @@ extern LLPieMenu *gPieHUD; | |||
153 | extern LLPieMenu *gPieLand; | 153 | extern LLPieMenu *gPieLand; |
154 | 154 | ||
155 | // Pie menus | 155 | // Pie menus |
156 | /* | ||
156 | extern LLPieMenu *gPieSelfSimple; | 157 | extern LLPieMenu *gPieSelfSimple; |
157 | extern LLPieMenu *gPieAvatarSimple; | 158 | extern LLPieMenu *gPieAvatarSimple; |
158 | extern LLPieMenu *gPieObjectSimple; | 159 | extern LLPieMenu *gPieObjectSimple; |
159 | extern LLPieMenu *gPieAttachmentSimple; | 160 | extern LLPieMenu *gPieAttachmentSimple; |
160 | extern LLPieMenu *gPieHUDSimple; | 161 | extern LLPieMenu *gPieHUDSimple; |
161 | extern LLPieMenu *gPieLandSimple; | 162 | extern LLPieMenu *gPieLandSimple; |
162 | 163 | */ | |
163 | // Needed to build menus when attachment site list available | 164 | // Needed to build menus when attachment site list available |
164 | extern LLMenuGL* gAttachSubMenu; | 165 | extern LLMenuGL* gAttachSubMenu; |
165 | extern LLMenuGL* gDetachSubMenu; | 166 | extern LLMenuGL* gDetachSubMenu; |
@@ -173,8 +174,8 @@ extern LLPieMenu* gDetachBodyPartPieMenus[8]; | |||
173 | 174 | ||
174 | extern LLMenuItemCallGL* gAFKMenu; | 175 | extern LLMenuItemCallGL* gAFKMenu; |
175 | extern LLMenuItemCallGL* gBusyMenu; | 176 | extern LLMenuItemCallGL* gBusyMenu; |
176 | extern LLMenuItemCallGL* gMutePieMenu; | 177 | //extern LLMenuItemCallGL* gMutePieMenu; |
177 | extern LLMenuItemCallGL* gMuteObjectPieMenu; | 178 | //extern LLMenuItemCallGL* gMuteObjectPieMenu; |
178 | extern LLMenuItemCallGL* gBuyPassPieMenu; | 179 | extern LLMenuItemCallGL* gBuyPassPieMenu; |
179 | 180 | ||
180 | #endif | 181 | #endif |
diff --git a/linden/indra/newview/llviewerobject.cpp b/linden/indra/newview/llviewerobject.cpp index ca741c4..7a1d50f 100644 --- a/linden/indra/newview/llviewerobject.cpp +++ b/linden/indra/newview/llviewerobject.cpp | |||
@@ -485,6 +485,7 @@ void LLViewerObject::setNameValueList(const std::string& name_value_list) | |||
485 | // agent. | 485 | // agent. |
486 | BOOL LLViewerObject::isOverAgentOwnedLand() const | 486 | BOOL LLViewerObject::isOverAgentOwnedLand() const |
487 | { | 487 | { |
488 | LL_DEBUGS("isOwnedSelf")<< " LLViewerObject::isOverAgentOwnedLand()" << LL_ENDL; | ||
488 | return mRegionp | 489 | return mRegionp |
489 | && mRegionp->getParcelOverlay() | 490 | && mRegionp->getParcelOverlay() |
490 | && mRegionp->getParcelOverlay()->isOwnedSelf(getPositionRegion()); | 491 | && mRegionp->getParcelOverlay()->isOwnedSelf(getPositionRegion()); |
diff --git a/linden/indra/newview/llviewerparcelmgr.cpp b/linden/indra/newview/llviewerparcelmgr.cpp index cb8ae66..21fca25 100644 --- a/linden/indra/newview/llviewerparcelmgr.cpp +++ b/linden/indra/newview/llviewerparcelmgr.cpp | |||
@@ -692,6 +692,7 @@ BOOL LLViewerParcelMgr::isOwnedAt(const LLVector3d& pos_global) const | |||
692 | 692 | ||
693 | BOOL LLViewerParcelMgr::isOwnedSelfAt(const LLVector3d& pos_global) const | 693 | BOOL LLViewerParcelMgr::isOwnedSelfAt(const LLVector3d& pos_global) const |
694 | { | 694 | { |
695 | LL_DEBUGS("isOwnedSelf")<< "LLViewerParcelMgr" << LL_ENDL; | ||
695 | LLViewerRegion* region = LLWorld::getInstance()->getRegionFromPosGlobal( pos_global ); | 696 | LLViewerRegion* region = LLWorld::getInstance()->getRegionFromPosGlobal( pos_global ); |
696 | if (!region) return FALSE; | 697 | if (!region) return FALSE; |
697 | 698 | ||
diff --git a/linden/indra/newview/llviewerparceloverlay.cpp b/linden/indra/newview/llviewerparceloverlay.cpp index 5cea9c2..0bcd8f3 100644 --- a/linden/indra/newview/llviewerparceloverlay.cpp +++ b/linden/indra/newview/llviewerparceloverlay.cpp | |||
@@ -132,6 +132,7 @@ BOOL LLViewerParcelOverlay::isOwned(const LLVector3& pos) const | |||
132 | 132 | ||
133 | BOOL LLViewerParcelOverlay::isOwnedSelf(const LLVector3& pos) const | 133 | BOOL LLViewerParcelOverlay::isOwnedSelf(const LLVector3& pos) const |
134 | { | 134 | { |
135 | LL_DEBUGS("VOAvatar")<< "LLViewerParcelOverlay" << LL_ENDL; | ||
135 | S32 row = S32(pos.mV[VY] / PARCEL_GRID_STEP_METERS); | 136 | S32 row = S32(pos.mV[VY] / PARCEL_GRID_STEP_METERS); |
136 | S32 column = S32(pos.mV[VX] / PARCEL_GRID_STEP_METERS); | 137 | S32 column = S32(pos.mV[VX] / PARCEL_GRID_STEP_METERS); |
137 | return (PARCEL_SELF == ownership(row, column)); | 138 | return (PARCEL_SELF == ownership(row, column)); |
diff --git a/linden/indra/newview/llviewerregion.cpp b/linden/indra/newview/llviewerregion.cpp index 1d380d7..69405d2 100644 --- a/linden/indra/newview/llviewerregion.cpp +++ b/linden/indra/newview/llviewerregion.cpp | |||
@@ -199,6 +199,7 @@ LLViewerRegion::LLViewerRegion(const U64 &handle, | |||
199 | } | 199 | } |
200 | else | 200 | else |
201 | { | 201 | { |
202 | delete mParcelOverlay; | ||
202 | mParcelOverlay = NULL; | 203 | mParcelOverlay = NULL; |
203 | } | 204 | } |
204 | 205 | ||
@@ -244,6 +245,7 @@ void LLViewerRegion::initStats() | |||
244 | 245 | ||
245 | LLViewerRegion::~LLViewerRegion() | 246 | LLViewerRegion::~LLViewerRegion() |
246 | { | 247 | { |
248 | LL_DEBUGS("VOAvatar")<< "LLViewerRegion dtor begin" << llendl; | ||
247 | if(mHttpResponderPtr) | 249 | if(mHttpResponderPtr) |
248 | { | 250 | { |
249 | (static_cast<BaseCapabilitiesComplete*>(mHttpResponderPtr.get()))->setRegion(NULL) ; | 251 | (static_cast<BaseCapabilitiesComplete*>(mHttpResponderPtr.get()))->setRegion(NULL) ; |
@@ -260,6 +262,7 @@ LLViewerRegion::~LLViewerRegion() | |||
260 | 262 | ||
261 | delete mCompositionp; | 263 | delete mCompositionp; |
262 | delete mParcelOverlay; | 264 | delete mParcelOverlay; |
265 | mParcelOverlay = NULL; | ||
263 | delete mLandp; | 266 | delete mLandp; |
264 | delete mEventPoll; | 267 | delete mEventPoll; |
265 | LLHTTPSender::clearSender(mHost); | 268 | LLHTTPSender::clearSender(mHost); |
@@ -267,6 +270,7 @@ LLViewerRegion::~LLViewerRegion() | |||
267 | saveCache(); | 270 | saveCache(); |
268 | 271 | ||
269 | std::for_each(mObjectPartition.begin(), mObjectPartition.end(), DeletePointer()); | 272 | std::for_each(mObjectPartition.begin(), mObjectPartition.end(), DeletePointer()); |
273 | LL_DEBUGS("VOAvatar")<< "LLViewerRegion dtor end" << llendl; | ||
270 | } | 274 | } |
271 | 275 | ||
272 | 276 | ||
@@ -887,12 +891,19 @@ bool LLViewerRegion::isAlive() | |||
887 | 891 | ||
888 | BOOL LLViewerRegion::isOwnedSelf(const LLVector3& pos) | 892 | BOOL LLViewerRegion::isOwnedSelf(const LLVector3& pos) |
889 | { | 893 | { |
890 | if (mParcelOverlay && !gDisconnected) | 894 | if (mParcelOverlay) |
891 | { | 895 | { |
896 | LL_DEBUGS("isOwnedSelf")<< "has mParceloverlay" << LL_ENDL; | ||
897 | if (gDisconnected) | ||
898 | { | ||
899 | LL_DEBUGS("isOwnedSelf")<< "but is gDisconnected" << LL_ENDL; | ||
900 | return FALSE; | ||
901 | } | ||
892 | return mParcelOverlay->isOwnedSelf(pos); | 902 | return mParcelOverlay->isOwnedSelf(pos); |
893 | } | 903 | } |
894 | else | 904 | else |
895 | { | 905 | { |
906 | LL_DEBUGS("isOwnedSelf")<< "has NO mParceloverlay" << LL_ENDL; | ||
896 | return FALSE; | 907 | return FALSE; |
897 | } | 908 | } |
898 | } | 909 | } |
diff --git a/linden/indra/newview/llvoavatar.cpp b/linden/indra/newview/llvoavatar.cpp index bf96ad1..bcc8472 100644 --- a/linden/indra/newview/llvoavatar.cpp +++ b/linden/indra/newview/llvoavatar.cpp | |||
@@ -778,7 +778,7 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id, | |||
778 | const bool needsSendToSim = false; // currently, this HUD effect doesn't need to pack and unpack data to do its job | 778 | const bool needsSendToSim = false; // currently, this HUD effect doesn't need to pack and unpack data to do its job |
779 | mVoiceVisualizer = ( LLVoiceVisualizer *)LLHUDManager::getInstance()->createViewerEffect( LLHUDObject::LL_HUD_EFFECT_VOICE_VISUALIZER, needsSendToSim ); | 779 | mVoiceVisualizer = ( LLVoiceVisualizer *)LLHUDManager::getInstance()->createViewerEffect( LLHUDObject::LL_HUD_EFFECT_VOICE_VISUALIZER, needsSendToSim ); |
780 | 780 | ||
781 | lldebugs << "LLVOAvatar Constructor (0x" << this << ") id:" << mID << llendl; | 781 | LL_DEBUGS("VOAvatar") << "Constructor (" << this << ") id:" << mID << LL_ENDL; |
782 | 782 | ||
783 | mPelvisp = NULL; | 783 | mPelvisp = NULL; |
784 | 784 | ||
@@ -823,7 +823,7 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id, | |||
823 | { | 823 | { |
824 | mIsSelf = TRUE; | 824 | mIsSelf = TRUE; |
825 | gAgent.setAvatarObject(this); | 825 | gAgent.setAvatarObject(this); |
826 | lldebugs << "Marking avatar as self " << id << llendl; | 826 | LL_DEBUGS("VOAvatar") << "Marking avatar as self " << id << LL_ENDL; |
827 | } | 827 | } |
828 | else | 828 | else |
829 | { | 829 | { |
@@ -1021,12 +1021,16 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id, | |||
1021 | //------------------------------------------------------------------------ | 1021 | //------------------------------------------------------------------------ |
1022 | LLVOAvatar::~LLVOAvatar() | 1022 | LLVOAvatar::~LLVOAvatar() |
1023 | { | 1023 | { |
1024 | lldebugs << "LLVOAvatar Destructor (0x" << this << ") id:" << mID << llendl; | 1024 | LL_DEBUGS("VOAvatar") << "Destructor (" << this << ") id:" << mID << LL_ENDL; |
1025 | 1025 | ||
1026 | if (mIsSelf) | 1026 | if (this==gAgent.getAvatarObject()) |
1027 | { | 1027 | { |
1028 | gAgent.setAvatarObject(NULL); | 1028 | gAgent.setAvatarObject(NULL); |
1029 | } | 1029 | } |
1030 | else if (mIsSelf) | ||
1031 | { | ||
1032 | LL_DEBUGS("VOAvatar") << "Destructing Zombie from previous session." << LL_ENDL; | ||
1033 | } | ||
1030 | 1034 | ||
1031 | mRoot.removeAllChildren(); | 1035 | mRoot.removeAllChildren(); |
1032 | 1036 | ||
@@ -1078,7 +1082,7 @@ LLVOAvatar::~LLVOAvatar() | |||
1078 | 1082 | ||
1079 | mAnimationSources.clear(); | 1083 | mAnimationSources.clear(); |
1080 | 1084 | ||
1081 | lldebugs << "LLVOAvatar Destructor end" << llendl; | 1085 | LL_DEBUGS("VOAvatar") << "Destructor end" << LL_ENDL; |
1082 | } | 1086 | } |
1083 | 1087 | ||
1084 | void LLVOAvatar::markDead() | 1088 | void LLVOAvatar::markDead() |
@@ -1475,6 +1479,8 @@ void LLVOAvatar::cleanupClass() | |||
1475 | sAvatarXmlInfo = NULL; | 1479 | sAvatarXmlInfo = NULL; |
1476 | delete sAvatarSkeletonInfo; | 1480 | delete sAvatarSkeletonInfo; |
1477 | sAvatarSkeletonInfo = NULL; | 1481 | sAvatarSkeletonInfo = NULL; |
1482 | delete sAvatarDictionary; | ||
1483 | sAvatarDictionary = NULL; | ||
1478 | sSkeletonXMLTree.cleanup(); | 1484 | sSkeletonXMLTree.cleanup(); |
1479 | sXMLTree.cleanup(); | 1485 | sXMLTree.cleanup(); |
1480 | } | 1486 | } |
@@ -1923,7 +1929,7 @@ void LLVOAvatar::buildCharacter() | |||
1923 | } | 1929 | } |
1924 | 1930 | ||
1925 | // gPrintMessagesThisFrame = TRUE; | 1931 | // gPrintMessagesThisFrame = TRUE; |
1926 | lldebugs << "Avatar load took " << timer.getElapsedTimeF32() << " seconds." << llendl; | 1932 | LL_DEBUGS("VOAvatar") << "Avatar load took " << timer.getElapsedTimeF32() << " seconds." << LL_ENDL; |
1927 | 1933 | ||
1928 | if ( ! status ) | 1934 | if ( ! status ) |
1929 | { | 1935 | { |
@@ -2040,6 +2046,7 @@ void LLVOAvatar::buildCharacter() | |||
2040 | gAttachBodyPartPieMenus[5] = new LLPieMenu(std::string("Left Leg >")); | 2046 | gAttachBodyPartPieMenus[5] = new LLPieMenu(std::string("Left Leg >")); |
2041 | gAttachBodyPartPieMenus[6] = new LLPieMenu(std::string("Torso >")); | 2047 | gAttachBodyPartPieMenus[6] = new LLPieMenu(std::string("Torso >")); |
2042 | gAttachBodyPartPieMenus[7] = new LLPieMenu(std::string("Right Leg >")); | 2048 | gAttachBodyPartPieMenus[7] = new LLPieMenu(std::string("Right Leg >")); |
2049 | //gAttachBodyPartPieMenus[8] = NULL; | ||
2043 | 2050 | ||
2044 | gDetachBodyPartPieMenus[0] = NULL; | 2051 | gDetachBodyPartPieMenus[0] = NULL; |
2045 | gDetachBodyPartPieMenus[1] = new LLPieMenu(std::string("Right Arm >")); | 2052 | gDetachBodyPartPieMenus[1] = new LLPieMenu(std::string("Right Arm >")); |
@@ -2049,8 +2056,9 @@ void LLVOAvatar::buildCharacter() | |||
2049 | gDetachBodyPartPieMenus[5] = new LLPieMenu(std::string("Left Leg >")); | 2056 | gDetachBodyPartPieMenus[5] = new LLPieMenu(std::string("Left Leg >")); |
2050 | gDetachBodyPartPieMenus[6] = new LLPieMenu(std::string("Torso >")); | 2057 | gDetachBodyPartPieMenus[6] = new LLPieMenu(std::string("Torso >")); |
2051 | gDetachBodyPartPieMenus[7] = new LLPieMenu(std::string("Right Leg >")); | 2058 | gDetachBodyPartPieMenus[7] = new LLPieMenu(std::string("Right Leg >")); |
2059 | //gDetachBodyPartPieMenus[8] = NULL; | ||
2052 | 2060 | ||
2053 | for (S32 i = 0; i < 8; i++) | 2061 | for (S32 i = 0; i < 8 ; i++) |
2054 | { | 2062 | { |
2055 | if (gAttachBodyPartPieMenus[i]) | 2063 | if (gAttachBodyPartPieMenus[i]) |
2056 | { | 2064 | { |
diff --git a/linden/indra/newview/llvoavatardefines.h b/linden/indra/newview/llvoavatardefines.h index 1da27b0..b4da140 100644 --- a/linden/indra/newview/llvoavatardefines.h +++ b/linden/indra/newview/llvoavatardefines.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /** | 1 | /** |
2 | * @file llvoavatar.h | 2 | * @file llvoavatardefines.h |
3 | * @brief Declaration of LLVOAvatar class which is a derivation fo | 3 | * @brief Declaration of LLVOAvatar class which is a derivation fo |
4 | * LLViewerObject | 4 | * LLViewerObject |
5 | * | 5 | * |
@@ -44,7 +44,6 @@ namespace LLVOAvatarDefines | |||
44 | extern const S32 SCRATCH_TEX_WIDTH; | 44 | extern const S32 SCRATCH_TEX_WIDTH; |
45 | extern const S32 SCRATCH_TEX_HEIGHT; | 45 | extern const S32 SCRATCH_TEX_HEIGHT; |
46 | extern const S32 IMPOSTOR_PERIOD; | 46 | extern const S32 IMPOSTOR_PERIOD; |
47 | |||
48 | //-------------------------------------------------------------------- | 47 | //-------------------------------------------------------------------- |
49 | // texture entry assignment | 48 | // texture entry assignment |
50 | //-------------------------------------------------------------------- | 49 | //-------------------------------------------------------------------- |
diff --git a/linden/indra/newview/llwearablelist.cpp b/linden/indra/newview/llwearablelist.cpp index 954321f..7952bae 100644 --- a/linden/indra/newview/llwearablelist.cpp +++ b/linden/indra/newview/llwearablelist.cpp | |||
@@ -223,7 +223,7 @@ void LLWearableList::processGetAssetReply( const char* filename, const LLAssetID | |||
223 | // Creates a new wearable just like the old_wearable but with data copied over from item | 223 | // Creates a new wearable just like the old_wearable but with data copied over from item |
224 | LLWearable* LLWearableList::createWearableMatchedToInventoryItem( LLWearable* old_wearable, LLViewerInventoryItem* item ) | 224 | LLWearable* LLWearableList::createWearableMatchedToInventoryItem( LLWearable* old_wearable, LLViewerInventoryItem* item ) |
225 | { | 225 | { |
226 | lldebugs << "LLWearableList::createWearableMatchedToInventoryItem()" << llendl; | 226 | LL_DEBUGS("Wearable") << "LLWearableList::createWearableMatchedToInventoryItem()" << LL_ENDL; |
227 | 227 | ||
228 | LLTransactionID tid; | 228 | LLTransactionID tid; |
229 | LLAssetID new_asset_id; | 229 | LLAssetID new_asset_id; |
@@ -247,7 +247,7 @@ LLWearable* LLWearableList::createWearableMatchedToInventoryItem( LLWearable* ol | |||
247 | 247 | ||
248 | LLWearable* LLWearableList::createCopyFromAvatar( LLWearable* old_wearable, const std::string& new_name ) | 248 | LLWearable* LLWearableList::createCopyFromAvatar( LLWearable* old_wearable, const std::string& new_name ) |
249 | { | 249 | { |
250 | lldebugs << "LLWearableList::createCopyFromAvatar()" << llendl; | 250 | LL_DEBUGS("Wearable") << "LLWearableList::createCopyFromAvatar()" << LL_ENDL; |
251 | 251 | ||
252 | LLTransactionID tid; | 252 | LLTransactionID tid; |
253 | LLAssetID new_asset_id; | 253 | LLAssetID new_asset_id; |
@@ -274,7 +274,7 @@ LLWearable* LLWearableList::createCopyFromAvatar( LLWearable* old_wearable, cons | |||
274 | 274 | ||
275 | LLWearable* LLWearableList::createCopy( LLWearable* old_wearable ) | 275 | LLWearable* LLWearableList::createCopy( LLWearable* old_wearable ) |
276 | { | 276 | { |
277 | lldebugs << "LLWearableList::createCopy()" << llendl; | 277 | LL_DEBUGS("Wearable") << "LLWearableList::createCopy()" << LL_ENDL; |
278 | 278 | ||
279 | LLTransactionID tid; | 279 | LLTransactionID tid; |
280 | LLAssetID new_asset_id; | 280 | LLAssetID new_asset_id; |
@@ -296,7 +296,7 @@ LLWearable* LLWearableList::createCopy( LLWearable* old_wearable ) | |||
296 | 296 | ||
297 | LLWearable* LLWearableList::createNewWearable( EWearableType type ) | 297 | LLWearable* LLWearableList::createNewWearable( EWearableType type ) |
298 | { | 298 | { |
299 | lldebugs << "LLWearableList::createNewWearable()" << llendl; | 299 | LL_DEBUGS("Wearable") << "LLWearableList::createNewWearable()" << LL_ENDL; |
300 | 300 | ||
301 | LLTransactionID tid; | 301 | LLTransactionID tid; |
302 | LLAssetID new_asset_id; | 302 | LLAssetID new_asset_id; |
diff --git a/linden/indra/newview/llwlparammanager.cpp b/linden/indra/newview/llwlparammanager.cpp index 081313c..46b0bb2 100644 --- a/linden/indra/newview/llwlparammanager.cpp +++ b/linden/indra/newview/llwlparammanager.cpp | |||
@@ -109,7 +109,7 @@ LLWLParamManager::~LLWLParamManager() | |||
109 | void LLWLParamManager::loadPresets(const std::string& file_name) | 109 | void LLWLParamManager::loadPresets(const std::string& file_name) |
110 | { | 110 | { |
111 | std::string path_name(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight/skies", "")); | 111 | std::string path_name(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight/skies", "")); |
112 | LL_INFOS2("AppInit", "Shaders") << "Loading Default WindLight settings from " << path_name << LL_ENDL; | 112 | LL_DEBUGS2("AppInit", "Shaders") << "Loading Default WindLight settings from " << path_name << LL_ENDL; |
113 | 113 | ||
114 | bool found = true; | 114 | bool found = true; |
115 | while(found) | 115 | while(found) |
@@ -196,7 +196,7 @@ void LLWLParamManager::loadPreset(const std::string & name,bool propagate) | |||
196 | escaped_filename += ".xml"; | 196 | escaped_filename += ".xml"; |
197 | 197 | ||
198 | std::string pathName(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight/skies", escaped_filename)); | 198 | std::string pathName(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight/skies", escaped_filename)); |
199 | llinfos << "Loading WindLight sky setting from " << pathName << llendl; | 199 | LL_DEBUGS2("AppInit", "Shaders") << "Loading WindLight sky setting from " << pathName << LL_ENDL; |
200 | 200 | ||
201 | llifstream presetsXML; | 201 | llifstream presetsXML; |
202 | presetsXML.open(pathName.c_str()); | 202 | presetsXML.open(pathName.c_str()); |
@@ -205,7 +205,7 @@ void LLWLParamManager::loadPreset(const std::string & name,bool propagate) | |||
205 | if(!presetsXML) | 205 | if(!presetsXML) |
206 | { | 206 | { |
207 | pathName=gDirUtilp->getExpandedFilename( LL_PATH_USER_SETTINGS , "windlight/skies", escaped_filename); | 207 | pathName=gDirUtilp->getExpandedFilename( LL_PATH_USER_SETTINGS , "windlight/skies", escaped_filename); |
208 | llinfos << "Loading User WindLight sky setting from " << pathName << llendl; | 208 | LL_DEBUGS2("AppInit", "Shaders")<< "Loading User WindLight sky setting from " << LL_ENDL; |
209 | presetsXML.open(pathName.c_str()); | 209 | presetsXML.open(pathName.c_str()); |
210 | } | 210 | } |
211 | 211 | ||