diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llappviewer.cpp | 35 | ||||
-rw-r--r-- | linden/indra/newview/llcallingcard.cpp | 12 | ||||
-rw-r--r-- | linden/indra/newview/llcallingcard.h | 2 | ||||
-rw-r--r-- | linden/indra/newview/llfloaterbuycurrency.cpp | 2 | ||||
-rw-r--r-- | linden/indra/newview/llstatusbar.h | 3 | ||||
-rw-r--r-- | linden/indra/newview/llviewermenu.cpp | 1 |
6 files changed, 44 insertions, 11 deletions
diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index e6b4831..2496d13 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp | |||
@@ -1185,6 +1185,16 @@ bool LLAppViewer::cleanup() | |||
1185 | 1185 | ||
1186 | llinfos << "Viewer disconnected" << llendflush; | 1186 | llinfos << "Viewer disconnected" << llendflush; |
1187 | 1187 | ||
1188 | if (!mQuitRequested) //not doing it on quit, because the quitting voiceclient | ||
1189 | { //*might* crash imprudence TODO: fix the voiceclient instead | ||
1190 | //this deletes all your buddies | ||
1191 | LLAvatarTracker::instance().reset(); | ||
1192 | } | ||
1193 | |||
1194 | //reset balance for not playing the UI-Sound | ||
1195 | //when relogging into another account | ||
1196 | gStatusBar->clearBalance(); | ||
1197 | |||
1188 | if (mQuitRequested) | 1198 | if (mQuitRequested) |
1189 | { | 1199 | { |
1190 | display_cleanup(); | 1200 | display_cleanup(); |
@@ -3722,10 +3732,18 @@ void LLAppViewer::idleShutdown() | |||
3722 | else | 3732 | else |
3723 | { | 3733 | { |
3724 | mQuitRequested=true; | 3734 | mQuitRequested=true; |
3725 | //awfixme | ||
3726 | forceQuit(); | 3735 | forceQuit(); |
3727 | } | 3736 | } |
3728 | 3737 | ||
3738 | |||
3739 | static bool saved_snapshot = false; | ||
3740 | if (!saved_snapshot) | ||
3741 | { | ||
3742 | saved_snapshot = true; | ||
3743 | saveFinalSnapshot(); | ||
3744 | return; | ||
3745 | } | ||
3746 | |||
3729 | // Attempt to close all floaters that might be | 3747 | // Attempt to close all floaters that might be |
3730 | // editing things. | 3748 | // editing things. |
3731 | if (gFloaterView) | 3749 | if (gFloaterView) |
@@ -3733,6 +3751,13 @@ void LLAppViewer::idleShutdown() | |||
3733 | // application is quitting | 3751 | // application is quitting |
3734 | gFloaterView->closeAllChildren(true); | 3752 | gFloaterView->closeAllChildren(true); |
3735 | } | 3753 | } |
3754 | |||
3755 | // extra invitation to the Snapshot Floater | ||
3756 | // not to show on the loginscreen when relogging | ||
3757 | if (gSnapshotFloaterView) | ||
3758 | { | ||
3759 | gSnapshotFloaterView->closeAllChildren(true); | ||
3760 | } | ||
3736 | 3761 | ||
3737 | // close IM interface | 3762 | // close IM interface |
3738 | if(gIMMgr) | 3763 | if(gIMMgr) |
@@ -3749,13 +3774,7 @@ void LLAppViewer::idleShutdown() | |||
3749 | return; | 3774 | return; |
3750 | } | 3775 | } |
3751 | 3776 | ||
3752 | static bool saved_snapshot = false; | 3777 | |
3753 | if (!saved_snapshot) | ||
3754 | { | ||
3755 | saved_snapshot = true; | ||
3756 | saveFinalSnapshot(); | ||
3757 | return; | ||
3758 | } | ||
3759 | 3778 | ||
3760 | const F32 SHUTDOWN_UPLOAD_SAVE_TIME = 5.f; | 3779 | const F32 SHUTDOWN_UPLOAD_SAVE_TIME = 5.f; |
3761 | 3780 | ||
diff --git a/linden/indra/newview/llcallingcard.cpp b/linden/indra/newview/llcallingcard.cpp index 155fb60..15be0eb 100644 --- a/linden/indra/newview/llcallingcard.cpp +++ b/linden/indra/newview/llcallingcard.cpp | |||
@@ -137,8 +137,20 @@ LLAvatarTracker::~LLAvatarTracker() | |||
137 | deleteTrackingData(); | 137 | deleteTrackingData(); |
138 | std::for_each(mObservers.begin(), mObservers.end(), DeletePointer()); | 138 | std::for_each(mObservers.begin(), mObservers.end(), DeletePointer()); |
139 | std::for_each(mBuddyInfo.begin(), mBuddyInfo.end(), DeletePairedPointer()); | 139 | std::for_each(mBuddyInfo.begin(), mBuddyInfo.end(), DeletePairedPointer()); |
140 | mObservers.erase(mObservers.begin(), mObservers.end()); | ||
141 | mBuddyInfo.erase(mBuddyInfo.begin(), mBuddyInfo.end()); | ||
140 | } | 142 | } |
141 | 143 | ||
144 | |||
145 | void LLAvatarTracker::reset() | ||
146 | { | ||
147 | std::for_each(mBuddyInfo.begin(), mBuddyInfo.end(), DeletePairedPointer()); | ||
148 | mBuddyInfo.erase(mBuddyInfo.begin(), mBuddyInfo.end()); | ||
149 | mModifyMask |= LLFriendObserver::REMOVE; | ||
150 | notifyObservers(); | ||
151 | } | ||
152 | |||
153 | |||
142 | void LLAvatarTracker::track(const LLUUID& avatar_id, const std::string& name) | 154 | void LLAvatarTracker::track(const LLUUID& avatar_id, const std::string& name) |
143 | { | 155 | { |
144 | deleteTrackingData(); | 156 | deleteTrackingData(); |
diff --git a/linden/indra/newview/llcallingcard.h b/linden/indra/newview/llcallingcard.h index 0db5376..d3f53c6 100644 --- a/linden/indra/newview/llcallingcard.h +++ b/linden/indra/newview/llcallingcard.h | |||
@@ -86,7 +86,7 @@ class LLAvatarTracker | |||
86 | { | 86 | { |
87 | public: | 87 | public: |
88 | static LLAvatarTracker& instance() { return sInstance; } | 88 | static LLAvatarTracker& instance() { return sInstance; } |
89 | 89 | void reset(); | |
90 | void track(const LLUUID& avatar_id, const std::string& name); | 90 | void track(const LLUUID& avatar_id, const std::string& name); |
91 | void untrack(const LLUUID& avatar_id); | 91 | void untrack(const LLUUID& avatar_id); |
92 | bool isTrackedAgentValid() { return mTrackedAgentValid; } | 92 | bool isTrackedAgentValid() { return mTrackedAgentValid; } |
diff --git a/linden/indra/newview/llfloaterbuycurrency.cpp b/linden/indra/newview/llfloaterbuycurrency.cpp index 07723e0..5096495 100644 --- a/linden/indra/newview/llfloaterbuycurrency.cpp +++ b/linden/indra/newview/llfloaterbuycurrency.cpp | |||
@@ -192,7 +192,7 @@ BOOL LLFloaterBuyCurrencyUI::canClose() | |||
192 | void LLFloaterBuyCurrencyUI::onClose(bool app_quitting) | 192 | void LLFloaterBuyCurrencyUI::onClose(bool app_quitting) |
193 | { | 193 | { |
194 | LLFloater::onClose(app_quitting); | 194 | LLFloater::onClose(app_quitting); |
195 | destroy(); | 195 | |
196 | } | 196 | } |
197 | 197 | ||
198 | void LLFloaterBuyCurrencyUI::updateUI() | 198 | void LLFloaterBuyCurrencyUI::updateUI() |
diff --git a/linden/indra/newview/llstatusbar.h b/linden/indra/newview/llstatusbar.h index 92be319..9ed067f 100644 --- a/linden/indra/newview/llstatusbar.h +++ b/linden/indra/newview/llstatusbar.h | |||
@@ -121,7 +121,8 @@ public: | |||
121 | S32 getSquareMetersCommitted() const; | 121 | S32 getSquareMetersCommitted() const; |
122 | S32 getSquareMetersLeft() const; | 122 | S32 getSquareMetersLeft() const; |
123 | LLRegionDetails mRegionDetails; | 123 | LLRegionDetails mRegionDetails; |
124 | 124 | ||
125 | void clearBalance() { mBalance = 0; } | ||
125 | private: | 126 | private: |
126 | static void onCommitSearch(LLUICtrl*, void* data); | 127 | static void onCommitSearch(LLUICtrl*, void* data); |
127 | static void onClickSearch(void* data); | 128 | static void onClickSearch(void* data); |
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp index e109673..7526944 100644 --- a/linden/indra/newview/llviewermenu.cpp +++ b/linden/indra/newview/llviewermenu.cpp | |||
@@ -1560,6 +1560,7 @@ void cleanup_menus() | |||
1560 | { | 1560 | { |
1561 | LL_DEBUGS("AFK") << "cleanup_menus start" << LL_ENDL; | 1561 | LL_DEBUGS("AFK") << "cleanup_menus start" << LL_ENDL; |
1562 | sMenus.clear(); | 1562 | sMenus.clear(); |
1563 | LLMenuGL::sMenuContainer = NULL; | ||
1563 | 1564 | ||
1564 | delete gMenuParcelObserver; | 1565 | delete gMenuParcelObserver; |
1565 | gMenuParcelObserver = NULL; | 1566 | gMenuParcelObserver = NULL; |