diff options
author | Armin Weatherwax | 2009-07-08 17:42:53 +0200 |
---|---|---|
committer | Armin Weatherwax | 2009-07-11 13:45:17 +0200 |
commit | 8f99d24a677cde192fb604ccf5dc8afbe26f557b (patch) | |
tree | 03c537a45e5611d150b9d8162e5f40365e97b0bb /linden/indra | |
parent | BROKEN now consistantly crashes at startup STATE_PRECACHE (diff) | |
download | meta-impy-8f99d24a677cde192fb604ccf5dc8afbe26f557b.zip meta-impy-8f99d24a677cde192fb604ccf5dc8afbe26f557b.tar.gz meta-impy-8f99d24a677cde192fb604ccf5dc8afbe26f557b.tar.bz2 meta-impy-8f99d24a677cde192fb604ccf5dc8afbe26f557b.tar.xz |
Broken: relog sometimes works once; fixed inventory and avatar not ruthed anymore.
deleted: Imprudence.log
modified: linden/indra/newview/llagent.cpp
modified: linden/indra/newview/llappviewer.cpp
modified: linden/indra/newview/llinventorymodel.cpp
modified: linden/indra/newview/llinventorymodel.h
modified: linden/indra/newview/llinventoryview.cpp
modified: linden/indra/newview/llviewerjointattachment.h
modified: linden/indra/newview/llviewermenu.cpp
deleted: mAttachedObject.diff.txt
deleted: meerkat-llmenugl.diff.txt
deleted: meerkat-message.diff.txt
deleted: meerkat-pipeline.cpp.diff.txt
deleted: meerkat-voice.diff.txt
deleted: stack_trace.log
Diffstat (limited to 'linden/indra')
-rw-r--r-- | linden/indra/newview/llagent.cpp | 12 | ||||
-rw-r--r-- | linden/indra/newview/llappviewer.cpp | 2 | ||||
-rw-r--r-- | linden/indra/newview/llinventorymodel.cpp | 2 | ||||
-rw-r--r-- | linden/indra/newview/llinventorymodel.h | 6 | ||||
-rw-r--r-- | linden/indra/newview/llinventoryview.cpp | 1 | ||||
-rw-r--r-- | linden/indra/newview/llviewerjointattachment.h | 4 | ||||
-rw-r--r-- | linden/indra/newview/llviewermenu.cpp | 5 |
7 files changed, 27 insertions, 5 deletions
diff --git a/linden/indra/newview/llagent.cpp b/linden/indra/newview/llagent.cpp index 5f0a875..e6ae7b5 100644 --- a/linden/indra/newview/llagent.cpp +++ b/linden/indra/newview/llagent.cpp | |||
@@ -466,6 +466,10 @@ void LLAgent::init() | |||
466 | //----------------------------------------------------------------------------- | 466 | //----------------------------------------------------------------------------- |
467 | void LLAgent::cleanup() | 467 | void LLAgent::cleanup() |
468 | { | 468 | { |
469 | mInitialized = FALSE; | ||
470 | mWearablesLoaded = FALSE; | ||
471 | mShowAvatar = TRUE; | ||
472 | |||
469 | setSitCamera(LLUUID::null); | 473 | setSitCamera(LLUUID::null); |
470 | mAvatarObject = NULL; | 474 | mAvatarObject = NULL; |
471 | mLookAt = NULL; | 475 | mLookAt = NULL; |
@@ -6592,11 +6596,19 @@ BOOL LLAgent::isWearingItem( const LLUUID& item_id ) | |||
6592 | // static | 6596 | // static |
6593 | void LLAgent::processAgentInitialWearablesUpdate( LLMessageSystem* mesgsys, void** user_data ) | 6597 | void LLAgent::processAgentInitialWearablesUpdate( LLMessageSystem* mesgsys, void** user_data ) |
6594 | { | 6598 | { |
6599 | if (gNoRender) | ||
6600 | { | ||
6601 | return; | ||
6602 | } | ||
6603 | |||
6595 | // We should only receive this message a single time. Ignore subsequent AgentWearablesUpdates | 6604 | // We should only receive this message a single time. Ignore subsequent AgentWearablesUpdates |
6596 | // that may result from AgentWearablesRequest having been sent more than once. | 6605 | // that may result from AgentWearablesRequest having been sent more than once. |
6606 | // If we do this, then relogging won't work. - Gigs | ||
6607 | /* | ||
6597 | static bool first = true; | 6608 | static bool first = true; |
6598 | if (!first) return; | 6609 | if (!first) return; |
6599 | first = false; | 6610 | first = false; |
6611 | */ | ||
6600 | 6612 | ||
6601 | LLUUID agent_id; | 6613 | LLUUID agent_id; |
6602 | gMessageSystem->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id ); | 6614 | gMessageSystem->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id ); |
diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index 60faaf2..128f33a 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp | |||
@@ -3797,7 +3797,7 @@ void LLAppViewer::disconnectViewer() | |||
3797 | LLWorld::getInstance()->destroyClass(); | 3797 | LLWorld::getInstance()->destroyClass(); |
3798 | 3798 | ||
3799 | if (mQuitRequested) | 3799 | if (mQuitRequested) |
3800 | cleanup_xfer_manager(); | 3800 | cleanup_xfer_manager(); |
3801 | } | 3801 | } |
3802 | 3802 | ||
3803 | void LLAppViewer::forceErrorLLError() | 3803 | void LLAppViewer::forceErrorLLError() |
diff --git a/linden/indra/newview/llinventorymodel.cpp b/linden/indra/newview/llinventorymodel.cpp index 1029a3c..93eb7ac 100644 --- a/linden/indra/newview/llinventorymodel.cpp +++ b/linden/indra/newview/llinventorymodel.cpp | |||
@@ -1499,7 +1499,7 @@ void LLInventoryModel::stopBackgroundFetch() | |||
1499 | //static | 1499 | //static |
1500 | void LLInventoryModel::backgroundFetch(void*) | 1500 | void LLInventoryModel::backgroundFetch(void*) |
1501 | { | 1501 | { |
1502 | if (sBackgroundFetchActive && gAgent.getRegion()) | 1502 | if (sBackgroundFetchActive) |
1503 | { | 1503 | { |
1504 | //If we'll be using the capability, we'll be sending batches and the background thing isn't as important. | 1504 | //If we'll be using the capability, we'll be sending batches and the background thing isn't as important. |
1505 | std::string url = gAgent.getRegion()->getCapability("WebFetchInventoryDescendents"); | 1505 | std::string url = gAgent.getRegion()->getCapability("WebFetchInventoryDescendents"); |
diff --git a/linden/indra/newview/llinventorymodel.h b/linden/indra/newview/llinventorymodel.h index 7c7d231..e95d246 100644 --- a/linden/indra/newview/llinventorymodel.h +++ b/linden/indra/newview/llinventorymodel.h | |||
@@ -323,6 +323,8 @@ public: | |||
323 | // relations. | 323 | // relations. |
324 | void buildParentChildMap(); | 324 | void buildParentChildMap(); |
325 | 325 | ||
326 | // Empty the entire contents | ||
327 | void empty(); | ||
326 | // | 328 | // |
327 | // Category accounting. | 329 | // Category accounting. |
328 | // | 330 | // |
@@ -374,6 +376,7 @@ public: | |||
374 | static bool isEverythingFetched(); | 376 | static bool isEverythingFetched(); |
375 | static void backgroundFetch(void*); // background fetch idle function | 377 | static void backgroundFetch(void*); // background fetch idle function |
376 | static void incrBulkFetch(S16 fetching) { sBulkFetchCount+=fetching; if (sBulkFetchCount<0) sBulkFetchCount=0; } | 378 | static void incrBulkFetch(S16 fetching) { sBulkFetchCount+=fetching; if (sBulkFetchCount<0) sBulkFetchCount=0; } |
379 | |||
377 | protected: | 380 | protected: |
378 | 381 | ||
379 | // Internal methods which add inventory and make sure that all of | 382 | // Internal methods which add inventory and make sure that all of |
@@ -387,8 +390,7 @@ protected: | |||
387 | // preferred type. Returns LLUUID::null if not found | 390 | // preferred type. Returns LLUUID::null if not found |
388 | LLUUID findCatUUID(LLAssetType::EType preferred_type); | 391 | LLUUID findCatUUID(LLAssetType::EType preferred_type); |
389 | 392 | ||
390 | // Empty the entire contents | 393 | |
391 | void empty(); | ||
392 | 394 | ||
393 | // Given the current state of the inventory items, figure out the | 395 | // Given the current state of the inventory items, figure out the |
394 | // clone information. *FIX: This is sub-optimal, since we can | 396 | // clone information. *FIX: This is sub-optimal, since we can |
diff --git a/linden/indra/newview/llinventoryview.cpp b/linden/indra/newview/llinventoryview.cpp index 0f1eb2b..d79c6e9 100644 --- a/linden/indra/newview/llinventoryview.cpp +++ b/linden/indra/newview/llinventoryview.cpp | |||
@@ -941,6 +941,7 @@ void LLInventoryView::cleanup() | |||
941 | { | 941 | { |
942 | sActiveViews.get(i)->destroy(); | 942 | sActiveViews.get(i)->destroy(); |
943 | } | 943 | } |
944 | gInventory.empty(); | ||
944 | } | 945 | } |
945 | 946 | ||
946 | void LLInventoryView::toggleFindOptions() | 947 | void LLInventoryView::toggleFindOptions() |
diff --git a/linden/indra/newview/llviewerjointattachment.h b/linden/indra/newview/llviewerjointattachment.h index dd63bfd..cbfee0b 100644 --- a/linden/indra/newview/llviewerjointattachment.h +++ b/linden/indra/newview/llviewerjointattachment.h | |||
@@ -98,7 +98,9 @@ protected: | |||
98 | void calcLOD(); | 98 | void calcLOD(); |
99 | 99 | ||
100 | protected: | 100 | protected: |
101 | LLPointer<LLViewerObject> mAttachedObject; | 101 | |
102 | // Backlink only; don't make this an LLPointer. | ||
103 | LLViewerObject* mAttachedObject; | ||
102 | BOOL mVisibleInFirst; | 104 | BOOL mVisibleInFirst; |
103 | LLVector3 mOriginalPos; | 105 | LLVector3 mOriginalPos; |
104 | S32 mGroup; | 106 | S32 mGroup; |
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp index 2940bdd..f75ca7d 100644 --- a/linden/indra/newview/llviewermenu.cpp +++ b/linden/indra/newview/llviewermenu.cpp | |||
@@ -564,6 +564,11 @@ void set_underclothes_menu_options() | |||
564 | 564 | ||
565 | void init_menus() | 565 | void init_menus() |
566 | { | 566 | { |
567 | if (gMenuHolder) | ||
568 | { | ||
569 | cleanup_menus(); | ||
570 | } | ||
571 | |||
567 | S32 top = gViewerWindow->getRootView()->getRect().getHeight(); | 572 | S32 top = gViewerWindow->getRootView()->getRect().getHeight(); |
568 | S32 width = gViewerWindow->getRootView()->getRect().getWidth(); | 573 | S32 width = gViewerWindow->getRootView()->getRect().getWidth(); |
569 | 574 | ||