aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJacek Antonelli2010-04-29 17:03:40 -0500
committerJacek Antonelli2010-04-29 17:03:40 -0500
commitfebaa3eb273768073f9d89129540987b2cb8688f (patch)
tree78ed997ec97a24fecb57bbedd3ac1a2efda847dc
parentHide the buy currency button in non-Second Life grids (diff)
parentfix: Bug #163 new clothing is created in Lost&Found after logging back in. (diff)
downloadmeta-impy-febaa3eb273768073f9d89129540987b2cb8688f.zip
meta-impy-febaa3eb273768073f9d89129540987b2cb8688f.tar.gz
meta-impy-febaa3eb273768073f9d89129540987b2cb8688f.tar.bz2
meta-impy-febaa3eb273768073f9d89129540987b2cb8688f.tar.xz
Merge remote branch 'armin/logoutbugsNEW' into next
-rw-r--r--linden/indra/newview/app_settings/logcontrol.xml29
-rw-r--r--linden/indra/newview/llagent.cpp18
-rw-r--r--linden/indra/newview/llagent.h5
-rw-r--r--linden/indra/newview/llappviewer.cpp11
-rw-r--r--linden/indra/newview/lltexturefetch.cpp3
-rw-r--r--linden/indra/newview/lltoolpie.cpp15
-rw-r--r--linden/indra/newview/lltoolpie.h3
-rw-r--r--linden/indra/newview/llviewermenu.cpp40
-rw-r--r--linden/indra/newview/llviewermenu.h7
-rw-r--r--linden/indra/newview/llviewerobject.cpp1
-rw-r--r--linden/indra/newview/llviewerparcelmgr.cpp1
-rw-r--r--linden/indra/newview/llviewerparceloverlay.cpp1
-rw-r--r--linden/indra/newview/llviewerregion.cpp13
-rw-r--r--linden/indra/newview/llvoavatar.cpp22
-rw-r--r--linden/indra/newview/llvoavatardefines.h3
-rw-r--r--linden/indra/newview/llwearablelist.cpp8
-rw-r--r--linden/indra/newview/llwlparammanager.cpp6
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//-----------------------------------------------------------------------------
458void LLAgent::cleanup() 459void 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//-----------------------------------------------------------------------------
483LLAgent::~LLAgent() 495LLAgent::~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
7921void LLAgent::userRemoveAllAttachments( void* userdata ) 7935void 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
799protected:
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
803private:
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;
88protected:
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
590void init_menus() 589void 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//-----------------------------------------------------------------------------
1555void cleanup_menus() 1549void 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;
153extern LLPieMenu *gPieLand; 153extern LLPieMenu *gPieLand;
154 154
155// Pie menus 155// Pie menus
156/*
156extern LLPieMenu *gPieSelfSimple; 157extern LLPieMenu *gPieSelfSimple;
157extern LLPieMenu *gPieAvatarSimple; 158extern LLPieMenu *gPieAvatarSimple;
158extern LLPieMenu *gPieObjectSimple; 159extern LLPieMenu *gPieObjectSimple;
159extern LLPieMenu *gPieAttachmentSimple; 160extern LLPieMenu *gPieAttachmentSimple;
160extern LLPieMenu *gPieHUDSimple; 161extern LLPieMenu *gPieHUDSimple;
161extern LLPieMenu *gPieLandSimple; 162extern LLPieMenu *gPieLandSimple;
162 163*/
163// Needed to build menus when attachment site list available 164// Needed to build menus when attachment site list available
164extern LLMenuGL* gAttachSubMenu; 165extern LLMenuGL* gAttachSubMenu;
165extern LLMenuGL* gDetachSubMenu; 166extern LLMenuGL* gDetachSubMenu;
@@ -173,8 +174,8 @@ extern LLPieMenu* gDetachBodyPartPieMenus[8];
173 174
174extern LLMenuItemCallGL* gAFKMenu; 175extern LLMenuItemCallGL* gAFKMenu;
175extern LLMenuItemCallGL* gBusyMenu; 176extern LLMenuItemCallGL* gBusyMenu;
176extern LLMenuItemCallGL* gMutePieMenu; 177//extern LLMenuItemCallGL* gMutePieMenu;
177extern LLMenuItemCallGL* gMuteObjectPieMenu; 178//extern LLMenuItemCallGL* gMuteObjectPieMenu;
178extern LLMenuItemCallGL* gBuyPassPieMenu; 179extern 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.
486BOOL LLViewerObject::isOverAgentOwnedLand() const 486BOOL 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
693BOOL LLViewerParcelMgr::isOwnedSelfAt(const LLVector3d& pos_global) const 693BOOL 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
133BOOL LLViewerParcelOverlay::isOwnedSelf(const LLVector3& pos) const 133BOOL 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
245LLViewerRegion::~LLViewerRegion() 246LLViewerRegion::~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
888BOOL LLViewerRegion::isOwnedSelf(const LLVector3& pos) 892BOOL 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//------------------------------------------------------------------------
1022LLVOAvatar::~LLVOAvatar() 1022LLVOAvatar::~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
1084void LLVOAvatar::markDead() 1088void 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
44extern const S32 SCRATCH_TEX_WIDTH; 44extern const S32 SCRATCH_TEX_WIDTH;
45extern const S32 SCRATCH_TEX_HEIGHT; 45extern const S32 SCRATCH_TEX_HEIGHT;
46extern const S32 IMPOSTOR_PERIOD; 46extern 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
224LLWearable* LLWearableList::createWearableMatchedToInventoryItem( LLWearable* old_wearable, LLViewerInventoryItem* item ) 224LLWearable* 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
248LLWearable* LLWearableList::createCopyFromAvatar( LLWearable* old_wearable, const std::string& new_name ) 248LLWearable* 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
275LLWearable* LLWearableList::createCopy( LLWearable* old_wearable ) 275LLWearable* 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
297LLWearable* LLWearableList::createNewWearable( EWearableType type ) 297LLWearable* 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()
109void LLWLParamManager::loadPresets(const std::string& file_name) 109void 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