MAINT-5760 Save the favorite in file with empty slurl string if it points to location that is no longer valid
parent
c01d1f5a20
commit
ed608e2d5b
|
|
@ -1800,6 +1800,16 @@ BOOL LLFavoritesOrderStorage::saveFavoritesRecord(bool pref_changed)
|
|||
}
|
||||
}
|
||||
|
||||
for (std::set<LLUUID>::iterator it = mMissingSLURLs.begin(); it != mMissingSLURLs.end(); it++)
|
||||
{
|
||||
slurls_map_t::iterator slurl_iter = mSLURLs.find(*it);
|
||||
if (slurl_iter != mSLURLs.end())
|
||||
{
|
||||
pref_changed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if((items != mPrevFavorites) || name_changed || pref_changed)
|
||||
{
|
||||
std::string filename = getStoredFavoritesFilename();
|
||||
|
|
@ -1820,6 +1830,7 @@ BOOL LLFavoritesOrderStorage::saveFavoritesRecord(bool pref_changed)
|
|||
|
||||
LLSD user_llsd;
|
||||
S32 fav_iter = 0;
|
||||
mMissingSLURLs.clear();
|
||||
for (LLInventoryModel::item_array_t::iterator it = items.begin(); it != items.end(); it++)
|
||||
{
|
||||
LLSD value;
|
||||
|
|
@ -1837,8 +1848,10 @@ BOOL LLFavoritesOrderStorage::saveFavoritesRecord(bool pref_changed)
|
|||
else
|
||||
{
|
||||
getSLURL((*it)->getAssetUUID());
|
||||
value["slurl"] = "";
|
||||
user_llsd[fav_iter] = value;
|
||||
mUpdateRequired = true;
|
||||
return FALSE;
|
||||
mMissingSLURLs.insert((*it)->getAssetUUID());
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -1869,7 +1882,6 @@ BOOL LLFavoritesOrderStorage::saveFavoritesRecord(bool pref_changed)
|
|||
<< "' at '" << filename << "' " << LL_ENDL;
|
||||
}
|
||||
}
|
||||
|
||||
mPrevFavorites = items;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -245,7 +245,7 @@ private:
|
|||
|
||||
typedef std::map<LLUUID, std::string> slurls_map_t;
|
||||
slurls_map_t mSLURLs;
|
||||
|
||||
std::set<LLUUID> mMissingSLURLs;
|
||||
bool mIsDirty;
|
||||
|
||||
struct IsNotInFavorites
|
||||
|
|
|
|||
Loading…
Reference in New Issue