From 42ed8e8ffadd6bd7d8784084e9a29badf5d75c5c Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Wed, 29 Sep 2010 17:03:05 +0100 Subject: response is starting to limp along. --- indra/newview/llviewermessage.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 26b7e0fb6d..b78c7b3d66 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -6171,10 +6171,14 @@ const S32 SCRIPT_DIALOG_BUTTON_STR_SIZE = 24; const S32 SCRIPT_DIALOG_MAX_MESSAGE_SIZE = 512; const char* SCRIPT_DIALOG_HEADER = "Script Dialog:\n"; +#include "lllslconstants.h" bool callback_script_dialog(const LLSD& notification, const LLSD& response) { LLNotificationForm form(notification["form"]); - std::string button = LLNotification::getSelectedOptionName(response); + //std::string button = "booya";//LLNotification::getSelectedOptionName(response); + std::string button = response[TEXTBOX_MAGIC_TOKEN].asString().empty() ? + LLNotification::getSelectedOptionName(response) : + response[TEXTBOX_MAGIC_TOKEN].asString(); S32 button_idx = LLNotification::getSelectedOption(notification, response); // Didn't click "Ignore" if (button_idx != -1) -- cgit v1.2.3 From 578ee535644931ede7dd74741d905d04d8da7fd6 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Wed, 29 Sep 2010 17:20:16 +0100 Subject: work on response integrity. --- indra/newview/llviewermessage.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index b78c7b3d66..f897f5e733 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -6176,9 +6176,9 @@ bool callback_script_dialog(const LLSD& notification, const LLSD& response) { LLNotificationForm form(notification["form"]); //std::string button = "booya";//LLNotification::getSelectedOptionName(response); - std::string button = response[TEXTBOX_MAGIC_TOKEN].asString().empty() ? - LLNotification::getSelectedOptionName(response) : - response[TEXTBOX_MAGIC_TOKEN].asString(); + std::string button = response.has(TEXTBOX_MAGIC_TOKEN) ? + response[TEXTBOX_MAGIC_TOKEN].asString() : + LLNotification::getSelectedOptionName(response); S32 button_idx = LLNotification::getSelectedOption(notification, response); // Didn't click "Ignore" if (button_idx != -1) -- cgit v1.2.3 From f7f3df3a2c0b7a87828c4a2c777d9a94502f3d4e Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Wed, 29 Sep 2010 18:39:47 +0100 Subject: make empty textboxes return an empty string instead of doing nothing. I hope. --- indra/newview/llviewermessage.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index f897f5e733..321100e140 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -6176,10 +6176,20 @@ bool callback_script_dialog(const LLSD& notification, const LLSD& response) { LLNotificationForm form(notification["form"]); //std::string button = "booya";//LLNotification::getSelectedOptionName(response); - std::string button = response.has(TEXTBOX_MAGIC_TOKEN) ? - response[TEXTBOX_MAGIC_TOKEN].asString() : - LLNotification::getSelectedOptionName(response); - S32 button_idx = LLNotification::getSelectedOption(notification, response); + llwarns << "ok: " << response << llendl; + std::string rtn_text; + S32 button_idx; + if (response[TEXTBOX_MAGIC_TOKEN].isDefined()) + { + rtn_text = response[TEXTBOX_MAGIC_TOKEN].asString(); + button_idx = 0; + } + else + { + rtn_text = LLNotification::getSelectedOptionName(response); + button_idx = LLNotification::getSelectedOption(notification, response); + } + llwarns << "rtn: " << rtn_text << " btnidx: " << button_idx << llendl; // Didn't click "Ignore" if (button_idx != -1) { @@ -6192,7 +6202,7 @@ bool callback_script_dialog(const LLSD& notification, const LLSD& response) msg->addUUID("ObjectID", notification["payload"]["object_id"].asUUID()); msg->addS32("ChatChannel", notification["payload"]["chat_channel"].asInteger()); msg->addS32("ButtonIndex", button_idx); - msg->addString("ButtonLabel", button); + msg->addString("ButtonLabel", rtn_text); msg->sendReliable(LLHost(notification["payload"]["sender"].asString())); } -- cgit v1.2.3 From ca1821048583acedaae7e1dbfe83a0b058faee2c Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Wed, 29 Sep 2010 19:00:55 +0100 Subject: more robustness for empty-but-not-aborted textboxes. --- indra/newview/llviewermessage.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 321100e140..3a8f76aca1 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -6179,15 +6179,14 @@ bool callback_script_dialog(const LLSD& notification, const LLSD& response) llwarns << "ok: " << response << llendl; std::string rtn_text; S32 button_idx; - if (response[TEXTBOX_MAGIC_TOKEN].isDefined()) + button_idx = LLNotification::getSelectedOption(notification, response); + if (response[TEXTBOX_MAGIC_TOKEN].isString()) { rtn_text = response[TEXTBOX_MAGIC_TOKEN].asString(); - button_idx = 0; } else { rtn_text = LLNotification::getSelectedOptionName(response); - button_idx = LLNotification::getSelectedOption(notification, response); } llwarns << "rtn: " << rtn_text << " btnidx: " << button_idx << llendl; // Didn't click "Ignore" -- cgit v1.2.3 From 4dfb0b7b2d76cf288cca34c23218c4769ec76991 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Wed, 29 Sep 2010 19:33:03 +0100 Subject: finally, properly(?) deal with submitting empty text. --- indra/newview/llviewermessage.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 3a8f76aca1..e284d8d154 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -6180,9 +6180,12 @@ bool callback_script_dialog(const LLSD& notification, const LLSD& response) std::string rtn_text; S32 button_idx; button_idx = LLNotification::getSelectedOption(notification, response); - if (response[TEXTBOX_MAGIC_TOKEN].isString()) + if (response[TEXTBOX_MAGIC_TOKEN].isDefined()) { - rtn_text = response[TEXTBOX_MAGIC_TOKEN].asString(); + if (response[TEXTBOX_MAGIC_TOKEN].isString()) + rtn_text = response[TEXTBOX_MAGIC_TOKEN].asString(); + else + rtn_text.clear(); // bool marks empty string } else { -- cgit v1.2.3 From de84d95ba083c5a2ab827b9b51849d30ab11c7d3 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Thu, 30 Sep 2010 11:15:58 +0100 Subject: minor tidy-up. --- indra/newview/llviewermessage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index e284d8d154..02d27be4ec 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -37,6 +37,7 @@ #include "llfloaterreg.h" #include "llfollowcamparams.h" #include "llinventorydefines.h" +#include "lllslconstants.h" #include "llregionhandle.h" #include "llsdserialize.h" #include "llteleportflags.h" @@ -6171,7 +6172,6 @@ const S32 SCRIPT_DIALOG_BUTTON_STR_SIZE = 24; const S32 SCRIPT_DIALOG_MAX_MESSAGE_SIZE = 512; const char* SCRIPT_DIALOG_HEADER = "Script Dialog:\n"; -#include "lllslconstants.h" bool callback_script_dialog(const LLSD& notification, const LLSD& response) { LLNotificationForm form(notification["form"]); -- cgit v1.2.3 From 5b3f293453af7c54ef5c1913c706982ece8be1d0 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Thu, 30 Sep 2010 12:06:44 +0100 Subject: more de-crufting. --- indra/newview/llviewermessage.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 02d27be4ec..dfd7b1092a 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -6175,8 +6175,7 @@ const char* SCRIPT_DIALOG_HEADER = "Script Dialog:\n"; bool callback_script_dialog(const LLSD& notification, const LLSD& response) { LLNotificationForm form(notification["form"]); - //std::string button = "booya";//LLNotification::getSelectedOptionName(response); - llwarns << "ok: " << response << llendl; + std::string rtn_text; S32 button_idx; button_idx = LLNotification::getSelectedOption(notification, response); @@ -6191,7 +6190,7 @@ bool callback_script_dialog(const LLSD& notification, const LLSD& response) { rtn_text = LLNotification::getSelectedOptionName(response); } - llwarns << "rtn: " << rtn_text << " btnidx: " << button_idx << llendl; + // Didn't click "Ignore" if (button_idx != -1) { -- cgit v1.2.3 From d8e40a49ed6b57c5f2b0325803a11cf04b987652 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 7 Oct 2010 15:35:17 -0700 Subject: EXP-156 FIXED custom Skylight hints moved move hint down to bottom of screen made destination hint go away on teleport --- indra/newview/llviewermessage.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 26b7e0fb6d..79a3bc5776 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -3201,6 +3201,8 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data) // then this info is news to us. void process_teleport_start(LLMessageSystem *msg, void**) { + // on teleport, don't tell them about destination guide anymore + LLFirstUse::notUsingDestinationGuide(false); U32 teleport_flags = 0x0; msg->getU32("Info", "TeleportFlags", teleport_flags); -- cgit v1.2.3 From 58f0e78cb491833440d85e105593bccc2d2aa4ab Mon Sep 17 00:00:00 2001 From: Dave SIMmONs Date: Tue, 12 Oct 2010 13:50:17 -0700 Subject: Initial work on viewer motion interpolation. Changes include: * InterpolationTime and InterpolationPhaseOut values in settings.xml to control new object interpolation code. Use zero to revert to old logic * Viewer motion interpolation lasts InterpolationTime and will start to phase out after InterpolationPhaseOut seconds * Changed LLWorld::getMinAllowedZ() to take a world-position as a parameter * Added LLVOAvatarSelf::resetRegionCrossingTimer() * Actually reset LLVOAvatarSelf::mRegionCrossingTimer so we get sensible timing data for region crossings * LLVOAvatarSelf::updateRegion() will update position value due to region changes Code reviewed by Ambroff * --- indra/newview/llviewermessage.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 26b7e0fb6d..8120c37874 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -3722,6 +3722,7 @@ void process_crossed_region(LLMessageSystem* msg, void**) return; } LL_INFOS("Messaging") << "process_crossed_region()" << LL_ENDL; + gAgentAvatarp->resetRegionCrossingTimer(); U32 sim_ip; msg->getIPAddrFast(_PREHASH_RegionData, _PREHASH_SimIP, sim_ip); -- cgit v1.2.3 From c47365480ccd6daf09c5e6f1f0672f5e0c42fadc Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Mon, 25 Oct 2010 18:33:06 -0700 Subject: EXP-322 FIXED Able spawn World map in Skylight Viewer with llMapDestination function --- indra/newview/llviewermessage.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 79a3bc5776..f8e51a578a 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5280,16 +5280,6 @@ void process_alert_core(const std::string& message, BOOL modal) mean_collision_list_t gMeanCollisionList; time_t gLastDisplayedTime = 0; -void handle_show_mean_events(void *) -{ - if (gNoRender) - { - return; - } - LLFloaterReg::showInstance("bumps"); - //LLFloaterBump::showInstance(); -} - void mean_name_callback(const LLUUID &id, const std::string& first, const std::string& last, BOOL always_false) { if (gNoRender) @@ -6411,6 +6401,8 @@ void process_initiate_download(LLMessageSystem* msg, void**) void process_script_teleport_request(LLMessageSystem* msg, void**) { + if (!gSavedSettings.getBOOL("ScriptsCanShowUI")) return; + std::string object_name; std::string sim_name; LLVector3 pos; -- cgit v1.2.3 From 23a217c66717912b99bc4c54cc8028fb7027e1be Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Wed, 27 Oct 2010 22:54:39 +0300 Subject: STORM-451 FIXED Disabled highlighting URLs in object name inside the llGiveInventory discard notification. Changes: * Wrapped object name with ... tags to disable URL parsing. * The decline message is now localized as a whole sentence (localizing separate phrases is often inapplicable for some languages). --- indra/newview/llviewermessage.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 9b1f2e67c6..672213d3e8 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1511,7 +1511,12 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD& // MUTE falls through to decline case IOR_DECLINE: { - log_message = LLTrans::getString("InvOfferYouDecline") + " " + mDesc + " " + LLTrans::getString("InvOfferFrom") + " " + mFromName +"."; + { + LLStringUtil::format_map_t log_message_args; + log_message_args["DESC"] = mDesc; + log_message_args["NAME"] = mFromName; + log_message = LLTrans::getString("InvOfferDecline", log_message_args); + } chat.mText = log_message; if( LLMuteList::getInstance()->isMuted(mFromID ) && ! LLMuteList::getInstance()->isLinden(mFromName) ) // muting for SL-42269 { @@ -1710,8 +1715,12 @@ bool LLOfferInfo::inventory_task_offer_callback(const LLSD& notification, const msg->addBinaryDataFast(_PREHASH_BinaryBucket, EMPTY_BINARY_BUCKET, EMPTY_BINARY_BUCKET_SIZE); // send the message msg->sendReliable(mHost); - - log_message = LLTrans::getString("InvOfferYouDecline") + " " + mDesc + " " + LLTrans::getString("InvOfferFrom") + " " + mFromName +"."; + { + LLStringUtil::format_map_t log_message_args; + log_message_args["DESC"] = mDesc; + log_message_args["NAME"] = mFromName; + log_message = LLTrans::getString("InvOfferDecline", log_message_args); + } LLSD args; args["MESSAGE"] = log_message; LLNotificationsUtil::add("SystemMessage", args); -- cgit v1.2.3 From 0a27fe695e6db2272ea1af02a897b5db33c8b70f Mon Sep 17 00:00:00 2001 From: Seth ProductEngine Date: Wed, 3 Nov 2010 23:28:59 +0200 Subject: STORM-194 FIXED 'Show' button in inventory offer notification to open 'My Inventory' SP if attachments were offered. Removed the check preventing inventory SP from opening when an item of IT_ATTACHMENT type has been offered. --- indra/newview/llviewermessage.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 672213d3e8..598ad7afc6 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1199,7 +1199,6 @@ void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_nam const BOOL auto_open = gSavedSettings.getBOOL("ShowInInventory") && // don't open if showininventory is false !(asset_type == LLAssetType::AT_CALLINGCARD) && // don't open if it's a calling card - !(item && (item->getInventoryType() == LLInventoryType::IT_ATTACHMENT)) && // don't open if it's an item that's an attachment !from_name.empty(); // don't open if it's not from anyone. LLInventoryPanel *active_panel = LLInventoryPanel::getActiveInventoryPanel(auto_open); if(active_panel) -- cgit v1.2.3 From 3fa059409aad9d7b5aedb4ed112cb52da6990ac4 Mon Sep 17 00:00:00 2001 From: Bill Curtis Date: Mon, 8 Nov 2010 10:54:58 -0800 Subject: changes to read max-agent-groups from login.cgi response --- indra/newview/llviewermessage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index c35173a7d4..14e0d49088 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -633,7 +633,7 @@ bool join_group_response(const LLSD& notification, const LLSD& response) if(option == 0 && !group_id.isNull()) { // check for promotion or demotion. - S32 max_groups = MAX_AGENT_GROUPS; + S32 max_groups = gMaxAgentGroups; if(gAgent.isInGroup(group_id)) ++max_groups; if(gAgent.mGroups.count() < max_groups) -- cgit v1.2.3 From ee8df375449e97476408417ec6dea0d6a8853d73 Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Wed, 10 Nov 2010 15:22:49 -0800 Subject: fixing group invite name scrubbing to work with server changes --- indra/newview/llviewermessage.cpp | 9 --------- 1 file changed, 9 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 598ad7afc6..0ca30d5f3d 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2509,15 +2509,6 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) invite_bucket = (struct invite_bucket_t*) &binary_bucket[0]; S32 membership_fee = ntohl(invite_bucket->membership_fee); - // IDEVO Clean up legacy name "Resident" in message constructed in - // lldatagroups.cpp - U32 pos = message.find(" has invited you to join a group.\n"); - if (pos != std::string::npos) - { - // use cleaned-up name from above - message = name + message.substr(pos); - } - LLSD payload; payload["transaction_id"] = session_id; payload["group_id"] = from_id; -- cgit v1.2.3 From d0de833d947b219eabae01abbb5750ad05e5e305 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Tue, 16 Nov 2010 23:26:08 +0200 Subject: STORM-563 FIXED Updated all localized XUI strings and notifications templates to use display names. Previously name substitutions were broken, so "[FIRST] [LAST]" was displayed instead of avatar name. Some of the affected notifications: * avatar went online/offline notification * object return notification * calling card offer * script dialog * auto-unmute notification. See the diff for more details. The fixes apply to all locales but English (which is already correct). Besides, I fixed calling card offer notification to display avatar name correctly. It was broken even in English. --- indra/newview/llviewermessage.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 7c0fc681a4..1f54940b25 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -3031,6 +3031,7 @@ void process_offer_callingcard(LLMessageSystem* msg, void**) } else { + args["NAME"] = source_name; LLNotificationsUtil::add("OfferCallingCard", args, payload); } } -- cgit v1.2.3 From 31d401e1c3ccedfc06b9efda51923d050029cfc9 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Mon, 13 Dec 2010 18:38:12 +0200 Subject: STORM-401 FIXED Add recepients of teleport offers to the recent people list. --- indra/newview/llviewermessage.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index b7f72a2e4c..7313463f1b 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -6306,6 +6306,9 @@ bool handle_lure_callback(const LLSD& notification, const LLSD& response) payload["from_id"] = target_id; payload["SUPPRESS_TOAST"] = true; LLNotificationsUtil::add("TeleportOfferSent", args, payload); + + // Add the recepient to the recent people list. + LLRecentPeople::instance().add(target_id); } } gAgent.sendReliableMessage(); -- cgit v1.2.3 From 4d296c19e55b779051984d8d4dd3df780e768317 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Mon, 27 Dec 2010 21:47:06 +0200 Subject: STORM-242 FIXED Fixed incorrect release notes URL in the "You just entered a region using a different server version" notification. --- indra/newview/llviewermessage.cpp | 55 ++++++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 21 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 7313463f1b..5e198a7578 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -171,6 +171,29 @@ const BOOL SCRIPT_QUESTION_IS_CAUTION[SCRIPT_PERMISSION_EOF] = FALSE // ControlYourCamera }; +// Extract channel and version from a string like "SL Web Viewer Beta 10.11.29.215604". +// (channel: "SL Web Viewer Beta", version: "10.11.29.215604") +static bool parse_version_info(const std::string& version_info, std::string& channel, std::string& ver) +{ + size_t last_space = version_info.rfind(" "); + channel = version_info; + + if (last_space != std::string::npos) + { + try + { + ver = version_info.substr(last_space + 1); + channel.replace(last_space, ver.length() + 1, ""); // strip version + } + catch (std::out_of_range& e) + { + return false; + } + } + + return true; +} + bool friendship_offer_callback(const LLSD& notification, const LLSD& response) { S32 option = LLNotificationsUtil::getSelectedOption(notification, response); @@ -3825,28 +3848,18 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**) if (!gLastVersionChannel.empty()) { - // 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 s_vect; - boost::algorithm::split(s_vect, server_version, isspace); - for(U32 i = 0; i < s_vect.size(); i++) + std::string url = regionp->getCapability("ServerReleaseNotes"); + if (url.empty()) { - if (i != (s_vect.size() - 1)) - { - if(i != (s_vect.size() - 2)) - { - url += s_vect[i] + "_"; - } - else - { - url += s_vect[i] + "/"; - } - } - else - { - url += s_vect[i].substr(0,4); - } + // The capability hasn't arrived yet or is not supported, + // fall back to parsing server version channel. + std::string channel, ver; + llassert(parse_version_info(version_channel, channel, ver) == true); + url = gSavedSettings.getString("ReleaseNotesURL"); + LLSD args; + args["CHANNEL"] = LLWeb::escapeURL(channel); + args["VERSION"] = LLWeb::escapeURL(ver); + LLStringUtil::format(url, args); } LLSD args; -- cgit v1.2.3 From d790003055a0b2127278715ae94c8261b95f3f15 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Tue, 28 Dec 2010 14:30:52 +0200 Subject: STORM-242 ADDITIONAL_FIX Fixed release build and error handling. --- indra/newview/llviewermessage.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 5e198a7578..88c841468b 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -189,9 +189,11 @@ static bool parse_version_info(const std::string& version_info, std::string& cha { return false; } + + return true; } - return true; + return false; } bool friendship_offer_callback(const LLSD& notification, const LLSD& response) @@ -3854,7 +3856,11 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**) // The capability hasn't arrived yet or is not supported, // fall back to parsing server version channel. std::string channel, ver; - llassert(parse_version_info(version_channel, channel, ver) == true); + if (!parse_version_info(version_channel, channel, ver)) + { + llwarns << "Failed to parse server version channel (" << version_channel << ")" << llendl; + } + url = gSavedSettings.getString("ReleaseNotesURL"); LLSD args; args["CHANNEL"] = LLWeb::escapeURL(channel); -- cgit v1.2.3 From e4336b63b691584df5a429fc5cdeb470b1a5c48b Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Tue, 28 Dec 2010 19:01:57 +0200 Subject: STORM-242 ADDITIONAL_FIX One more build fix... --- indra/newview/llviewermessage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 88c841468b..7dc5d96689 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -185,7 +185,7 @@ static bool parse_version_info(const std::string& version_info, std::string& cha ver = version_info.substr(last_space + 1); channel.replace(last_space, ver.length() + 1, ""); // strip version } - catch (std::out_of_range& e) + catch (std::out_of_range) { return false; } -- cgit v1.2.3 From d0b5e6b0b4acebd1b11685dea290b830957ba9dc Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Thu, 6 Jan 2011 06:07:11 -0500 Subject: STORM-829 Viewer 2 does not parse /me in object Instant Messages --- indra/newview/llviewermessage.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 7dc5d96689..7f7855c08c 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2746,6 +2746,14 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) LLSD args; args["slurl"] = location; args["type"] = LLNotificationsUI::NT_NEARBYCHAT; + + // Look for IRC-style emotes here so object name formatting is correct + std::string prefix = message.substr(0, 4); + if (prefix == "/me " || prefix == "/me'") + { + chat.mChatStyle = CHAT_STYLE_IRC; + } + LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args); } -- cgit v1.2.3 From fd95de0e79dfea96f9c3073685dc0bad8cfe39e9 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Tue, 18 Jan 2011 18:46:35 +0200 Subject: STORM-243 FIXED Disabled the "You just entered a region using a different server version..." pop-up notification. --- indra/newview/llviewermessage.cpp | 50 --------------------------------------- 1 file changed, 50 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 7dc5d96689..6fc85a3944 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -171,31 +171,6 @@ const BOOL SCRIPT_QUESTION_IS_CAUTION[SCRIPT_PERMISSION_EOF] = FALSE // ControlYourCamera }; -// Extract channel and version from a string like "SL Web Viewer Beta 10.11.29.215604". -// (channel: "SL Web Viewer Beta", version: "10.11.29.215604") -static bool parse_version_info(const std::string& version_info, std::string& channel, std::string& ver) -{ - size_t last_space = version_info.rfind(" "); - channel = version_info; - - if (last_space != std::string::npos) - { - try - { - ver = version_info.substr(last_space + 1); - channel.replace(last_space, ver.length() + 1, ""); // strip version - } - catch (std::out_of_range) - { - return false; - } - - return true; - } - - return false; -} - bool friendship_offer_callback(const LLSD& notification, const LLSD& response) { S32 option = LLNotificationsUtil::getSelectedOption(notification, response); @@ -3848,31 +3823,6 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**) return; } - if (!gLastVersionChannel.empty()) - { - std::string url = regionp->getCapability("ServerReleaseNotes"); - if (url.empty()) - { - // The capability hasn't arrived yet or is not supported, - // fall back to parsing server version channel. - std::string channel, ver; - if (!parse_version_info(version_channel, channel, ver)) - { - llwarns << "Failed to parse server version channel (" << version_channel << ")" << llendl; - } - - url = gSavedSettings.getString("ReleaseNotesURL"); - LLSD args; - args["CHANNEL"] = LLWeb::escapeURL(channel); - args["VERSION"] = LLWeb::escapeURL(ver); - LLStringUtil::format(url, args); - } - - LLSD args; - args["URL"] = url; - LLNotificationsUtil::add("ServerVersionChanged", args); - } - gLastVersionChannel = version_channel; } -- cgit v1.2.3 From a6ff010dc1bee1b526fd8a83f9ef71d1e51bd082 Mon Sep 17 00:00:00 2001 From: Dave SIMmONs Date: Mon, 7 Mar 2011 15:01:04 -0800 Subject: ER-350: Viewer / sim camera positioning not working well on login. Viewer now sets the camera before calling send_agent_update(). Reviewed by Kelly. --- indra/newview/llviewermessage.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 103989ee80..947408f125 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -3761,8 +3761,19 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**) } else { - // This is likely just the initial logging in phase. + // This is initial log-in or a region crossing gAgent.setTeleportState( LLAgent::TELEPORT_NONE ); + + if(LLStartUp::getStartupState() < STATE_STARTED) + { // This is initial log-in, not a region crossing: + // Set the camera looking ahead of the AV so send_agent_update() below + // will report the correct location to the server. + LLVector3 look_at_point = look_at; + look_at_point = agent_pos + look_at_point.rotVec(gAgent.getQuat()); + + static LLVector3 up_direction(0.0f, 0.0f, 1.0f); + LLViewerCamera::getInstance()->lookAt(agent_pos, look_at_point, up_direction); + } } if ( LLTracker::isTracking(NULL) ) -- cgit v1.2.3 From f9d70c41c9b7e7c0bb1cca184e6b5e99fc75a656 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Tue, 8 Mar 2011 12:42:15 -0800 Subject: SOCIAL-652 FIX Decline notification shown to users in minimal skin when they click on free one click objects --- indra/newview/llviewermessage.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 103989ee80..c2449907ac 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1715,15 +1715,18 @@ bool LLOfferInfo::inventory_task_offer_callback(const LLSD& notification, const msg->addBinaryDataFast(_PREHASH_BinaryBucket, EMPTY_BINARY_BUCKET, EMPTY_BINARY_BUCKET_SIZE); // send the message msg->sendReliable(mHost); + + if (gSavedSettings.getBOOL("LogInventoryDecline")) { LLStringUtil::format_map_t log_message_args; log_message_args["DESC"] = mDesc; log_message_args["NAME"] = mFromName; log_message = LLTrans::getString("InvOfferDecline", log_message_args); + + LLSD args; + args["MESSAGE"] = log_message; + LLNotificationsUtil::add("SystemMessage", args); } - LLSD args; - args["MESSAGE"] = log_message; - LLNotificationsUtil::add("SystemMessage", args); if (busy && (!mFromGroup && !mFromObject)) { -- cgit v1.2.3 From 174b537953b5a39702c833ab1e83313a80e5e549 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine Date: Wed, 9 Mar 2011 23:01:58 +0200 Subject: STORM-28 ADDITIONAL FIX Pressing "Show" button in the offer notification opens Inventory SP and selects the received calling card. --- indra/newview/llviewermessage.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 947408f125..68807a6e65 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1199,7 +1199,6 @@ void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_nam // Highlight item const BOOL auto_open = gSavedSettings.getBOOL("ShowInInventory") && // don't open if showininventory is false - !(asset_type == LLAssetType::AT_CALLINGCARD) && // don't open if it's a calling card !from_name.empty(); // don't open if it's not from anyone. LLInventoryPanel *active_panel = LLInventoryPanel::getActiveInventoryPanel(auto_open); if(active_panel) -- cgit v1.2.3 From 6336022ada7811e9f36844d5f7ff660cb712fdfe Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Mon, 14 Mar 2011 17:49:11 -0700 Subject: SOCIAL-661 FIX Receiving Inventory notification in Basic Mode SOCIAL-654 FIX Items purchased on Marketplace.secondlife.com while logged into Minimal skin are declined and not present in inventory --- indra/newview/llviewermessage.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'indra/newview/llviewermessage.cpp') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 2758250175..3584074ec1 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1463,15 +1463,18 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD& // This is an offer from an agent. In this case, the back // end has already copied the items into your inventory, // so we can fetch it out of our inventory. - LLOpenAgentOffer* open_agent_offer = new LLOpenAgentOffer(mObjectID, from_string); - open_agent_offer->startFetch(); - if(catp || (itemp && itemp->isFinished())) + if (gSavedSettings.getBOOL("ShowOfferedInventory")) { - open_agent_offer->done(); - } - else - { - opener = open_agent_offer; + LLOpenAgentOffer* open_agent_offer = new LLOpenAgentOffer(mObjectID, from_string); + open_agent_offer->startFetch(); + if(catp || (itemp && itemp->isFinished())) + { + open_agent_offer->done(); + } + else + { + opener = open_agent_offer; + } } } break; -- cgit v1.2.3