summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatermap.cpp
diff options
context:
space:
mode:
authorJosh Bell <josh@lindenlab.com>2007-04-04 19:49:24 +0000
committerJosh Bell <josh@lindenlab.com>2007-04-04 19:49:24 +0000
commit98740db8fd5875033d08b6aef6d9bf5c3c49eeee (patch)
treedd0e83734e50ffd4d9f87eb2ed4091f867f2f1fd /indra/newview/llfloatermap.cpp
parentaa96d1fddff3d5bf68a5014229a0d20584937222 (diff)
svn merge -r 59826:59968 svn+ssh://svn.lindenlab.com/svn/linden/branches/maintenance --> release
Diffstat (limited to 'indra/newview/llfloatermap.cpp')
-rw-r--r--indra/newview/llfloatermap.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp
index d53929272c..242f5b7991 100644
--- a/indra/newview/llfloatermap.cpp
+++ b/indra/newview/llfloatermap.cpp
@@ -197,3 +197,47 @@ void LLFloaterMap::toggle(void*)
}
}
}
+
+
+BOOL process_secondlife_url(LLString url)
+{
+ S32 strpos, strpos2;
+
+ LLString slurlID = "slurl.com/secondlife/";
+ strpos = url.find(slurlID);
+
+ if (strpos < 0)
+ {
+ slurlID="secondlife://";
+ strpos = url.find(slurlID);
+ }
+
+ if (strpos >= 0)
+ {
+ LLString simname;
+
+ strpos+=slurlID.length();
+ strpos2=url.find("/",strpos);
+ if (strpos2 < strpos) strpos2=url.length();
+ simname="secondlife://" + url.substr(strpos,url.length() - strpos);
+
+ LLURLSimString::setString( simname );
+ LLURLSimString::parse();
+
+ // if there is a world map
+ if ( gFloaterWorldMap )
+ {
+ // mark where the destination is
+ gFloaterWorldMap->trackURL( LLURLSimString::sInstance.mSimName.c_str(),
+ LLURLSimString::sInstance.mX,
+ LLURLSimString::sInstance.mY,
+ LLURLSimString::sInstance.mZ );
+
+ // display map
+ LLFloaterWorldMap::show( NULL, TRUE );
+ };
+
+ return TRUE;
+ }
+ return FALSE;
+}