From db643d1881196c01687b06130f26452cd2e04bac Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Wed, 26 Oct 2011 11:21:01 -0400 Subject: STORM-1653 Group notices sent by muted residents are still displayed --- indra/newview/llviewermessage.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'indra') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 74ee918bfe..fe613b3dc9 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2241,6 +2241,10 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) { name = LLTrans::getString("Unnamed"); } + + // Preserve the unaltered name for use in group notice mute checking. + std::string original_name = name; + // IDEVO convert new-style "Resident" names for display name = clean_name_from_im(name, dialog); @@ -2447,6 +2451,17 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) break; } + // The group notice packet does not have an AgentID. Try to obtain one from the name cache. + // If there is a cache miss and a background fetch has to occur the group notice may + // be displayed even though the resident has been muted. + std::string legacy_name = gCacheName->buildLegacyName(original_name); + LLUUID agent_id; + gCacheName->getUUID(legacy_name, agent_id); + if (agent_id.notNull() && LLMuteList::getInstance()->isMuted(agent_id)) + { + break; + } + notice_bin_bucket = (struct notice_bucket_full_t*) &binary_bucket[0]; U8 has_inventory = notice_bin_bucket->header.has_inventory; U8 asset_type = notice_bin_bucket->header.asset_type; -- cgit v1.2.3 From f73fddd5d0c5a398a592dcc058b1feb09964560d Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Wed, 26 Oct 2011 14:06:08 -0400 Subject: STORM-1653 Group notices sent by muted residents are still displayed Added warning message if a null is returned from the name to id call. --- indra/newview/llviewermessage.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'indra') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index fe613b3dc9..05303cf3c5 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2451,13 +2451,16 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) break; } - // The group notice packet does not have an AgentID. Try to obtain one from the name cache. - // If there is a cache miss and a background fetch has to occur the group notice may - // be displayed even though the resident has been muted. + // The group notice packet does not have an AgentID. Obtain one from the name cache. std::string legacy_name = gCacheName->buildLegacyName(original_name); LLUUID agent_id; gCacheName->getUUID(legacy_name, agent_id); - if (agent_id.notNull() && LLMuteList::getInstance()->isMuted(agent_id)) + + if (agent_id.isNull()) + { + LL_WARNS("Messaging") << "buildLegacyName returned null" << LL_ENDL; + } + else if (LLMuteList::getInstance()->isMuted(agent_id)) { break; } -- cgit v1.2.3 From 0ab252b8174a97311168938e93c99c0d649660ad Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Wed, 23 Nov 2011 09:51:38 -0500 Subject: STORM-1653 Handle last name of "Resident" case --- indra/newview/llviewermessage.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'indra') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 05303cf3c5..c92fc5c853 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2452,6 +2452,12 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) } // The group notice packet does not have an AgentID. Obtain one from the name cache. + // If last name is "Resident" strip it out so the cache name lookup works. + U32 index = original_name.find(" Resident"); + if (index != std::string::npos) + { + original_name = original_name.substr(0, index); + } std::string legacy_name = gCacheName->buildLegacyName(original_name); LLUUID agent_id; gCacheName->getUUID(legacy_name, agent_id); -- cgit v1.2.3 From 28f86906a6c0675c6335ca7f408c4e0561dafd89 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Tue, 6 Dec 2011 11:45:07 -0500 Subject: STORM-1653 Added affected name to warning message --- indra/newview/llviewermessage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index c92fc5c853..39c863318b 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2464,7 +2464,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) if (agent_id.isNull()) { - LL_WARNS("Messaging") << "buildLegacyName returned null" << LL_ENDL; + LL_WARNS("Messaging") << "buildLegacyName returned null while processing " << original_name << LL_ENDL; } else if (LLMuteList::getInstance()->isMuted(agent_id)) { -- cgit v1.2.3 From a03b3aaa60c4b9101d344eed70ddbbf14888ff48 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Mon, 12 Dec 2011 08:51:16 -0500 Subject: STORM-1731 Ad-hoc confererence block failing. Residents using it to start massive multi-sim conferences, used as a griefing tool. --- indra/newview/llimview.cpp | 55 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 17 deletions(-) (limited to 'indra') diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index ed4bb727cd..daef307601 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -2403,15 +2403,6 @@ void LLIMMgr::addMessage( bool link_name) // If this is true, then we insert the name and link it to a profile { LLUUID other_participant_id = target_id; - - // don't process muted IMs - if (LLMuteList::getInstance()->isMuted( - other_participant_id, - LLMute::flagTextChat) && !LLMuteList::getInstance()->isLinden(from)) - { - return; - } - LLUUID new_session_id = session_id; if (new_session_id.isNull()) { @@ -2452,10 +2443,25 @@ void LLIMMgr::addMessage( LLIMModel::instance().addMessage(new_session_id, from, other_participant_id, bonus_info.str()); } + // Logically it would make more sense to reject the session sooner, in another area of the + // code, but the session has to be established inside the server before it can be left. + if (LLMuteList::getInstance()->isMuted(other_participant_id) && !LLMuteList::getInstance()->isLinden(from)) + { + llwarns << "Leaving IM session from initiating muted resident " << from << llendl; + if(!gIMMgr->leaveSession(new_session_id)) + { + llwarns << "Session " << new_session_id << " does not exist." << llendl; + } + return; + } + make_ui_sound("UISndNewIncomingIMSession"); } - LLIMModel::instance().addMessage(new_session_id, from, other_participant_id, msg); + if (!LLMuteList::getInstance()->isMuted(other_participant_id, LLMute::flagTextChat)) + { + LLIMModel::instance().addMessage(new_session_id, from, other_participant_id, msg); + } } void LLIMMgr::addSystemMessage(const LLUUID& session_id, const std::string& message_name, const LLSD& args) @@ -2661,12 +2667,6 @@ void LLIMMgr::inviteToSession( const std::string& session_handle, const std::string& session_uri) { - //ignore invites from muted residents - if (LLMuteList::getInstance()->isMuted(caller_id)) - { - return; - } - std::string notify_box_type; // voice invite question is different from default only for group call (EXT-7118) std::string question_type = "VoiceInviteQuestionDefault"; @@ -2712,6 +2712,22 @@ void LLIMMgr::inviteToSession( payload["notify_box_type"] = notify_box_type; payload["question_type"] = question_type; + if (voice_invite && + "VoiceInviteQuestionDefault" == question_type && + LLMuteList::getInstance()->isMuted(caller_id) && + !LLMuteList::getInstance()->isLinden(caller_name)) + { + llwarns << "Rejecting voice call from initiating muted resident " << caller_name << llendl; + LLIncomingCallDialog::processCallResponse(1, payload); + return; + } + + //ignore invites from muted residents + if (LLMuteList::getInstance()->isMuted(caller_id)) + { + return; + } + LLVoiceChannel* channelp = LLVoiceChannel::getChannelByID(session_id); if (channelp && channelp->callStarted()) { @@ -3234,7 +3250,7 @@ public: chat.mFromID = from_id; chat.mFromName = name; - if (!is_linden && (is_busy || is_muted)) + if (!is_linden && is_busy) { return; } @@ -3266,6 +3282,11 @@ public: ll_vector3_from_sd(message_params["position"]), true); + if (LLMuteList::getInstance()->isMuted(from_id, name, LLMute::flagTextChat)) + { + return; + } + //K now we want to accept the invitation std::string url = gAgent.getRegion()->getCapability( "ChatSessionRequest"); -- cgit v1.2.3 From f2d2e7e489613769ca40cc838630b20c854942a5 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Mon, 12 Dec 2011 11:32:34 -0500 Subject: STORM-1731 Changes per RB comments: changed llwarns to llinfos, added check so you cannot mute a Linden --- indra/newview/llimview.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'indra') diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index daef307601..f96e7f2cc3 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -2450,7 +2450,7 @@ void LLIMMgr::addMessage( llwarns << "Leaving IM session from initiating muted resident " << from << llendl; if(!gIMMgr->leaveSession(new_session_id)) { - llwarns << "Session " << new_session_id << " does not exist." << llendl; + llinfos << "Session " << new_session_id << " does not exist." << llendl; } return; } @@ -2673,6 +2673,9 @@ void LLIMMgr::inviteToSession( BOOL ad_hoc_invite = FALSE; BOOL voice_invite = FALSE; + bool is_linden = LLMuteList::getInstance()->isLinden(caller_name); + + if(type == IM_SESSION_P2P_INVITE) { //P2P is different...they only have voice invitations @@ -2715,15 +2718,15 @@ void LLIMMgr::inviteToSession( if (voice_invite && "VoiceInviteQuestionDefault" == question_type && LLMuteList::getInstance()->isMuted(caller_id) && - !LLMuteList::getInstance()->isLinden(caller_name)) + !is_linden) { - llwarns << "Rejecting voice call from initiating muted resident " << caller_name << llendl; + llinfos << "Rejecting voice call from initiating muted resident " << caller_name << llendl; LLIncomingCallDialog::processCallResponse(1, payload); return; } //ignore invites from muted residents - if (LLMuteList::getInstance()->isMuted(caller_id)) + if (LLMuteList::getInstance()->isMuted(caller_id) && !is_linden) { return; } -- cgit v1.2.3 From 2c9db624fb6a463efbd8a208d6d7f3bae72c0211 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Mon, 12 Dec 2011 14:48:36 -0500 Subject: STORM-1731 Adjusted if muted logic slightly --- indra/newview/llimview.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'indra') diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index f96e7f2cc3..a856bd0bdc 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -2714,20 +2714,15 @@ void LLIMMgr::inviteToSession( payload["session_uri"] = session_uri; payload["notify_box_type"] = notify_box_type; payload["question_type"] = question_type; - - if (voice_invite && - "VoiceInviteQuestionDefault" == question_type && - LLMuteList::getInstance()->isMuted(caller_id) && - !is_linden) - { - llinfos << "Rejecting voice call from initiating muted resident " << caller_name << llendl; - LLIncomingCallDialog::processCallResponse(1, payload); - return; - } //ignore invites from muted residents if (LLMuteList::getInstance()->isMuted(caller_id) && !is_linden) { + if (voice_invite && "VoiceInviteQuestionDefault" == question_type) + { + llinfos << "Rejecting voice call from initiating muted resident " << caller_name << llendl; + LLIncomingCallDialog::processCallResponse(1, payload); + } return; } -- cgit v1.2.3 From eb7b43fb558d66eb08b7a06ffdd578bfe94e5eb8 Mon Sep 17 00:00:00 2001 From: Jonathan Yap Date: Wed, 14 Dec 2011 13:21:48 -0500 Subject: STORM-1733 Menu entry Release Keys is in Advanced->Shortcuts sub-menu but has no shortcut --- indra/newview/skins/default/xui/en/menu_viewer.xml | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 1834be2d48..0aa5c72f2a 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1713,7 +1713,17 @@ function="ToggleControl" parameter="MouseSmooth" /> - + + + + - - - - + Date: Wed, 14 Dec 2011 17:44:10 -0500 Subject: STORM-1736 Cropped buttons in the bottom of the Ad-hoc floater --- indra/newview/skins/default/xui/en/floater_im_session.xml | 2 +- indra/newview/skins/default/xui/en/panel_adhoc_control_panel.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index 5fe8f3c114..a2739a8339 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -3,7 +3,7 @@ legacy_header_height="18" background_visible="true" default_tab_group="1" - height="350" + height="355" help_topic="floater_im_box" layout="topleft" name="panel_im" diff --git a/indra/newview/skins/default/xui/en/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/en/panel_adhoc_control_panel.xml index e70abc0975..93cafd4a53 100644 --- a/indra/newview/skins/default/xui/en/panel_adhoc_control_panel.xml +++ b/indra/newview/skins/default/xui/en/panel_adhoc_control_panel.xml @@ -58,7 +58,7 @@ label="Call" name="call_btn" width="130" - top="5" /> + top="0" /> + top="0"/> -- cgit v1.2.3 From a94a923240ba6e9928010432e1e815ea69edd6b7 Mon Sep 17 00:00:00 2001 From: Alissa Sabre Date: Thu, 15 Dec 2011 15:19:50 -0500 Subject: storm-1723: fix character display when a lot of different characters are used --- indra/llrender/llfontgl.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'indra') diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp index 607473d416..82e8227ffe 100644 --- a/indra/llrender/llfontgl.cpp +++ b/indra/llrender/llfontgl.cpp @@ -304,6 +304,18 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons S32 next_bitmap_num = fgi->mBitmapNum; if (next_bitmap_num != bitmap_num) { + // Actually draw the queued glyphs before switching their texture; + // otherwise the queued glyphs will be taken from wrong textures. + if (glyph_count > 0) + { + gGL.begin(LLRender::QUADS); + { + gGL.vertexBatchPreTransformed(vertices, uvs, colors, glyph_count * 4); + } + gGL.end(); + glyph_count = 0; + } + bitmap_num = next_bitmap_num; LLImageGL *font_image = font_bitmap_cache->getImageGL(bitmap_num); gGL.getTexUnit(0)->bind(font_image); -- cgit v1.2.3