diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llviewermessage.cpp | 55 | ||||
| -rw-r--r-- | indra/newview/llviewermessage.h | 1 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/notifications.xml | 2 | 
3 files changed, 24 insertions, 34 deletions
| diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index d8e6c52c8c..ea1097c477 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2914,46 +2914,37 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)  	if (!gLastVersionChannel.empty())  	{ -		LLSD payload; -		payload["message"] = version_channel; -		LLNotifications::instance().add("ServerVersionChanged", LLSD(), payload, server_version_changed_callback); -	} - -	gLastVersionChannel = version_channel; -} - -bool server_version_changed_callback(const LLSD& notification, const LLSD& response) -{ -	if(notification["payload"]["message"].asString() =="") -		return false; -	std::string url ="http://wiki.secondlife.com/wiki/Release_Notes/"; -	//parse the msg string -	std::string server_version = notification["payload"]["message"].asString(); -	std::vector<std::string> s_vect; -	boost::algorithm::split(s_vect, server_version, isspace); -	for(U32 i = 0; i < s_vect.size(); i++) -	{ -    	if (i != (s_vect.size() - 1)) -		{ -			if(i != (s_vect.size() - 2)) +		// work out the URL for this server's Release Notes +		std::string url ="http://wiki.secondlife.com/wiki/Release_Notes/"; +		std::string server_version = version_channel; +		std::vector<std::string> s_vect; +		boost::algorithm::split(s_vect, server_version, isspace); +		for(U32 i = 0; i < s_vect.size(); i++) +		{ +			if (i != (s_vect.size() - 1))  			{ -			   url += s_vect[i] + "_"; +				if(i != (s_vect.size() - 2)) +				{ +				   url += s_vect[i] + "_"; +				} +				else +				{ +					url += s_vect[i] + "/"; +				}  			}  			else  			{ -				url += s_vect[i] + "/"; +				url += s_vect[i].substr(0,4);  			}  		} -		else -		{ -			url += s_vect[i].substr(0,4); -		} + +		LLSD args; +		args["URL"] = url; +		LLNotifications::instance().add("ServerVersionChanged", args);  	} -	 -	LLWeb::loadURL(url); -	return false; -} +	gLastVersionChannel = version_channel; +}  void process_crossed_region(LLMessageSystem* msg, void**)  { diff --git a/indra/newview/llviewermessage.h b/indra/newview/llviewermessage.h index c15e5df675..e24da2013d 100644 --- a/indra/newview/llviewermessage.h +++ b/indra/newview/llviewermessage.h @@ -132,7 +132,6 @@ void container_inventory_arrived(LLViewerObject* object,  // agent movement  void send_complete_agent_movement(const LLHost& sim_host);  void process_agent_movement_complete(LLMessageSystem* msg, void**); -bool server_version_changed_callback(const LLSD& notification, const LLSD& response);  void process_crossed_region(LLMessageSystem* msg, void**);  void process_teleport_start(LLMessageSystem* msg, void**);  void process_teleport_progress(LLMessageSystem* msg, void**); diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index f26a4d09d4..989dc88851 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -5669,7 +5669,7 @@ An error has occurred while trying to connect to voice chat for [VOICE_CHANNEL_N     name="ServerVersionChanged"     priority="high"     type="notifytip"> -You just entered a region using a different server version, which may affect performance. Click to see the release notes. +You just entered a region using a different server version, which may affect performance. [[URL] View the release notes.]    </notification>    <notification | 
