diff options
-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" |