diff options
| author | Merov Linden <merov@lindenlab.com> | 2014-09-28 21:40:32 -0700 | 
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2014-09-28 21:40:32 -0700 | 
| commit | 4b80a5ed059d91bc37558db8ed664365e39d21d6 (patch) | |
| tree | 55cfddc381448a72b54c03347deabada9687f629 /indra/newview/llnotificationstorage.cpp | |
| parent | 896f48229e577b1bcf94f2cb80d73a6bf1a9330c (diff) | |
| parent | 499f5aa9a4b46d61ee94b26d5c86bc032766af70 (diff) | |
Pull merge from lindenlab/viewer-release
Diffstat (limited to 'indra/newview/llnotificationstorage.cpp')
| -rwxr-xr-x | indra/newview/llnotificationstorage.cpp | 24 | 
1 files changed, 19 insertions, 5 deletions
| diff --git a/indra/newview/llnotificationstorage.cpp b/indra/newview/llnotificationstorage.cpp index 2923221c90..e9970de58c 100755 --- a/indra/newview/llnotificationstorage.cpp +++ b/indra/newview/llnotificationstorage.cpp @@ -103,19 +103,21 @@ bool LLNotificationStorage::writeNotifications(const LLSD& pNotificationData) co  	return didFileOpen;  } -bool LLNotificationStorage::readNotifications(LLSD& pNotificationData) const +bool LLNotificationStorage::readNotifications(LLSD& pNotificationData, bool is_new_filename) const  { -	LL_INFOS("LLNotificationStorage") << "starting read '" << mFileName << "'" << LL_ENDL; +	std::string filename = is_new_filename? mFileName : mOldFileName; + +	LL_INFOS("LLNotificationStorage") << "starting read '" << filename << "'" << LL_ENDL;  	bool didFileRead;  	pNotificationData.clear(); -	llifstream notifyFile(mFileName.c_str()); +	llifstream notifyFile(filename.c_str());  	didFileRead = notifyFile.is_open();  	if (!didFileRead)  	{ -		LL_WARNS("LLNotificationStorage") << "Failed to open file '" << mFileName << "'" << LL_ENDL; +		LL_WARNS("LLNotificationStorage") << "Failed to open file '" << filename << "'" << LL_ENDL;  	}  	else  	{ @@ -128,7 +130,19 @@ bool LLNotificationStorage::readNotifications(LLSD& pNotificationData) const  		}  	} -	LL_INFOS("LLNotificationStorage") << "ending read '" << mFileName << "'" << LL_ENDL; +	LL_INFOS("LLNotificationStorage") << "ending read '" << filename << "'" << LL_ENDL; +	if (!didFileRead) +	{ +		if(is_new_filename) +		{ +			didFileRead = readNotifications(pNotificationData, false); +			if(didFileRead) +			{ +				writeNotifications(pNotificationData); +				LLFile::remove(mOldFileName); +			} +		} +	}  	return didFileRead;  } | 
