From 56b54aaf2954765f68c4fbe843495fdcdb918744 Mon Sep 17 00:00:00 2001
From: Cho <cho@lindenlab.com>
Date: Sat, 3 Aug 2013 01:42:31 +0100
Subject: made checkin use a placeholder location URL when the given SLURL is
 not valid

---
 indra/newview/llfloatersocial.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/indra/newview/llfloatersocial.cpp b/indra/newview/llfloatersocial.cpp
index 4cbc9c0218..eb9a7d2400 100644
--- a/indra/newview/llfloatersocial.cpp
+++ b/indra/newview/llfloatersocial.cpp
@@ -53,6 +53,7 @@ static LLRegisterPanelClassWrapper<LLSocialCheckinPanel> t_panel_checkin("llsoci
 static LLRegisterPanelClassWrapper<LLSocialAccountPanel> t_panel_account("llsocialaccountpanel");
 
 const S32 MAX_POSTCARD_DATASIZE = 1024 * 1024; // one megabyte
+const std::string DEFAULT_CHECKIN_LOCATION_URL = "http://maps.secondlife.com/";
 const std::string DEFAULT_CHECKIN_ICON_URL = "http://logok.org/wp-content/uploads/2010/07/podcastlogo1.jpg";
 
 std::string get_map_url()
@@ -582,6 +583,13 @@ void LLSocialCheckinPanel::sendCheckin()
 	LLSLURL slurl;
 	LLAgentUI::buildSLURL(slurl);
 	std::string slurl_string = slurl.getSLURLString();
+
+	// Use a valid http:// URL if the scheme is secondlife:// 
+	LLURI slurl_uri(slurl_string);
+	if (slurl_uri.scheme() == LLSLURL::SLURL_SECONDLIFE_SCHEME)
+	{
+		slurl_string = DEFAULT_CHECKIN_LOCATION_URL;
+	}
     
 	// Get the region name
 	std::string region_name = gAgent.getRegion()->getName();
-- 
cgit v1.2.3