diff options
| author | Merov Linden <merov@lindenlab.com> | 2011-05-07 11:01:58 -0700 |
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2011-05-07 11:01:58 -0700 |
| commit | 460aa3ade72fe999eebccb390ae371dfdfeaf125 (patch) | |
| tree | 0f74ec821139deb23057956e89ef7d814c82c671 /indra/newview/llviewerinventory.cpp | |
| parent | c03eb76bcf66665ee8a7618dbec0d13e3fc66c32 (diff) | |
| parent | 51c779b5e832a0c303b4c84c7263c7fed3bd9b30 (diff) | |
Merge with viewer-experience
Diffstat (limited to 'indra/newview/llviewerinventory.cpp')
| -rw-r--r-- | indra/newview/llviewerinventory.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index 68011ebf07..9e58acdcd3 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -1456,6 +1456,9 @@ private: void saveFavoritesSLURLs(); + // Remove record of current user's favorites from file on disk. + void removeFavoritesRecordOfUser(); + void onLandmarkLoaded(const LLUUID& asset_id, LLLandmark* landmark); void storeFavoriteSLURL(const LLUUID& asset_id, std::string& slurl); @@ -1540,6 +1543,10 @@ void LLFavoritesOrderStorage::destroyClass() { LLFavoritesOrderStorage::instance().saveFavoritesSLURLs(); } + else + { + LLFavoritesOrderStorage::instance().removeFavoritesRecordOfUser(); + } } void LLFavoritesOrderStorage::load() @@ -1608,6 +1615,28 @@ void LLFavoritesOrderStorage::saveFavoritesSLURLs() LLSDSerialize::toPrettyXML(fav_llsd, file); } +void LLFavoritesOrderStorage::removeFavoritesRecordOfUser() +{ + std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml"); + LLSD fav_llsd; + llifstream file; + file.open(filename); + if (!file.is_open()) return; + LLSDSerialize::fromXML(fav_llsd, file); + + LLAvatarName av_name; + LLAvatarNameCache::get( gAgentID, &av_name ); + if (fav_llsd.has(av_name.getLegacyName())) + { + fav_llsd.erase(av_name.getLegacyName()); + } + + llofstream out_file; + out_file.open(filename); + LLSDSerialize::toPrettyXML(fav_llsd, out_file); + +} + void LLFavoritesOrderStorage::onLandmarkLoaded(const LLUUID& asset_id, LLLandmark* landmark) { if (!landmark) return; |
