diff options
| author | simon <none@none> | 2014-04-01 18:42:15 -0700 | 
|---|---|---|
| committer | simon <none@none> | 2014-04-01 18:42:15 -0700 | 
| commit | 565c41fdc2e2f8f9841cb41b446671563ea8d5e1 (patch) | |
| tree | e2ad558f86e8eee0ef69b3bfff6fed0c02c8887e | |
| parent | 33dfc0a8a1ed56d7d24611981736fd5baf6b03c2 (diff) | |
| parent | 93f7ac98b640c3bff13a87992f928122ee69201c (diff) | |
Merge downstream code
| -rw-r--r-- | indra/cmake/FMODEX.cmake | 2 | ||||
| -rwxr-xr-x | indra/llimage/llimageworker.cpp | 4 | ||||
| -rwxr-xr-x | indra/llimage/tests/llimageworker_test.cpp | 1 | ||||
| -rwxr-xr-x | indra/newview/character/avatar_lad.xml | 4 | ||||
| -rwxr-xr-x | indra/newview/llurldispatcher.cpp | 43 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/notifications.xml | 13 | 
6 files changed, 58 insertions, 9 deletions
| diff --git a/indra/cmake/FMODEX.cmake b/indra/cmake/FMODEX.cmake index 163260137b..65bc1cabeb 100644 --- a/indra/cmake/FMODEX.cmake +++ b/indra/cmake/FMODEX.cmake @@ -39,7 +39,7 @@ if (FMODEX)              optimized fmodex)        endif (WINDOWS)        set(FMODEX_LIBRARIES ${FMODEX_LIBRARY}) -      set(FMODEX_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/) +      set(FMODEX_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/fmodex)      endif (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR)    endif (STANDALONE)  endif (FMODEX) diff --git a/indra/llimage/llimageworker.cpp b/indra/llimage/llimageworker.cpp index e425823c59..148cf4fa55 100755 --- a/indra/llimage/llimageworker.cpp +++ b/indra/llimage/llimageworker.cpp @@ -143,7 +143,7 @@ bool LLImageDecodeThread::ImageRequest::processRequest()  											  mFormattedImage->getComponents());  		} -		//if (mDecodedImageRaw->getData())) +		if (mDecodedImageRaw->getData())  		{  			done = mFormattedImage->decode(mDecodedImageRaw, decode_time_slice); // 1ms  			mDecodedRaw = done; @@ -159,7 +159,7 @@ bool LLImageDecodeThread::ImageRequest::processRequest()  											  1);  		} -		//if (mDecodedImageAux->getData()) +		if (mDecodedImageAux->getData())  		{  			done = mFormattedImage->decodeChannels(mDecodedImageAux, decode_time_slice, 4, 4); // 1ms  			mDecodedAux = done; diff --git a/indra/llimage/tests/llimageworker_test.cpp b/indra/llimage/tests/llimageworker_test.cpp index e255d65b43..f6fb8f54b4 100755 --- a/indra/llimage/tests/llimageworker_test.cpp +++ b/indra/llimage/tests/llimageworker_test.cpp @@ -58,6 +58,7 @@ void LLImageBase::sanityCheck() { }  void LLImageBase::deleteData() { }  U8* LLImageBase::allocateData(S32 size) { return NULL; }  U8* LLImageBase::reallocateData(S32 size) { return NULL; } +U8* LLImageBase::getData() { return NULL; }  LLImageRaw::LLImageRaw(U16 width, U16 height, S8 components) { }  LLImageRaw::~LLImageRaw() { } diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml index 5268498d56..6de5b18c3c 100755 --- a/indra/newview/character/avatar_lad.xml +++ b/indra/newview/character/avatar_lad.xml @@ -3825,7 +3825,7 @@          <volume_morph            name="BELLY"            scale="0.075 0.04 0.03" -          pos="0.07 0 -0.02"/> +          pos="0.07 0 -0.07"/>          <volume_morph            name="PELVIS"            scale="0.075 0.04 0.03" @@ -4269,7 +4269,7 @@       label_min="Big Pectorals"       label_max="Sunken Chest"       value_default="0" -     value_min="-1.0" +     value_min="-0.5"       value_max="1.1"       camera_elevation=".3"       camera_distance="1.2"> diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp index 0c34db39b5..ca593c80bc 100755 --- a/indra/newview/llurldispatcher.cpp +++ b/indra/newview/llurldispatcher.cpp @@ -34,6 +34,7 @@  #include "llfloaterreg.h"  #include "llfloatersidepanelcontainer.h"  #include "llfloaterworldmap.h" +#include "llnotifications.h"  #include "llpanellogin.h"  #include "llregionhandle.h"  #include "llslurl.h" @@ -253,13 +254,15 @@ void LLURLDispatcherImpl::regionHandleCallback(U64 region_handle, const LLSLURL&  //---------------------------------------------------------------------------  // Teleportation links are handled here because they are tightly coupled  // to SLURL parsing and sim-fragment parsing +  class LLTeleportHandler : public LLCommandHandler  {  public:  	// Teleport requests *must* come from a trusted browser  	// inside the app, otherwise a malicious web page could  	// cause a constant teleport loop.  JC -	LLTeleportHandler() : LLCommandHandler("teleport", UNTRUSTED_BLOCK) { } +	LLTeleportHandler() : LLCommandHandler("teleport", UNTRUSTED_THROTTLE) { } +  	bool handle(const LLSD& tokens, const LLSD& query_map,  				LLMediaCtrl* web) @@ -276,18 +279,50 @@ public:  							   tokens[3].asReal());  		} +		LLSD args; +		args["LOCATION"] = tokens[0]; +  		// Region names may be %20 escaped. -		  		std::string region_name = LLURI::unescape(tokens[0]); +		LLSD payload; +		payload["region_name"] = region_name; +		payload["callback_url"] = LLSLURL(region_name, coords).getSLURLString(); + +		LLNotificationsUtil::add("TeleportViaSLAPP", args, payload); +		return true; +	} + +	static void teleport_via_slapp(std::string region_name, std::string callback_url) +	{ +  		LLWorldMapMessage::getInstance()->sendNamedRegionRequest(region_name,  			LLURLDispatcherImpl::regionHandleCallback, -			LLSLURL(region_name, coords).getSLURLString(), +			callback_url,  			true);	// teleport -		return true;  	} + +	static bool teleport_via_slapp_callback(const LLSD& notification, const LLSD& response) +	{ +		S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + +		std::string region_name = notification["payload"]["region_name"].asString(); +		std::string callback_url = notification["payload"]["callback_url"].asString(); + +		if (option == 0) +		{ +			teleport_via_slapp(region_name, callback_url); +			return true; +		} + +		return false; +	} +  };  LLTeleportHandler gTeleportHandler; +static LLNotificationFunctorRegistration open_landmark_callback_reg("TeleportViaSLAPP", LLTeleportHandler::teleport_via_slapp_callback); + +  //--------------------------------------------------------------------------- diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index ce34c3f7a1..07531e0d56 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -4137,6 +4137,19 @@ Are you sure you want to teleport to <nolink>[LOCATION]</nolink>?       notext="Cancel"       yestext="Teleport"/>    </notification> +   +  <notification +   icon="alertmodal.tga" +   name="TeleportViaSLAPP" +   type="alertmodal"> +Are you sure you want to teleport to <nolink>[LOCATION]</nolink>? +    <tag>confirm</tag> +    <usetemplate +     ignoretext="Confirm that I want to teleport via SLAPP" +     name="okcancelignore" +     notext="Cancel" +     yestext="Teleport"/> +  </notification>	    <notification     icon="alertmodal.tga" | 
