From 73f68342f657984d6ab3447f3f9dbc44f35b1982 Mon Sep 17 00:00:00 2001 From: Gilbert Gonzales Date: Mon, 18 Mar 2013 15:56:50 -0700 Subject: CHUI-864 ([crashhunters] crash in LLConversationLog): Found a probable cause. It is likely that the user was missing the user settings variable called 'KeepConversationLogTranscripts.' If this variable doesn't exist or is deleted then the CHUI viewer would try to extract data from this non-existent variable. Resolution, now perform a check to make sure the 'KeepConversationLogTranscripts' settings variable exists before extracting data. --- indra/newview/llconversationlog.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'indra') diff --git a/indra/newview/llconversationlog.cpp b/indra/newview/llconversationlog.cpp index dd20ca15ae..7883e4cb89 100644 --- a/indra/newview/llconversationlog.cpp +++ b/indra/newview/llconversationlog.cpp @@ -194,14 +194,17 @@ LLConversationLog::LLConversationLog() : mAvatarNameCacheConnection(), mLoggingEnabled(false) { - LLControlVariable * keep_log_ctrlp = gSavedPerAccountSettings.getControl("KeepConversationLogTranscripts").get(); - S32 log_mode = keep_log_ctrlp->getValue(); - keep_log_ctrlp->getSignal()->connect(boost::bind(&LLConversationLog::enableLogging, this, _2)); - if (log_mode > 0) + if(gSavedPerAccountSettings.controlExists("KeepConversationLogTranscripts")) { - loadFromFile(getFileName()); + LLControlVariable * keep_log_ctrlp = gSavedPerAccountSettings.getControl("KeepConversationLogTranscripts").get(); + S32 log_mode = keep_log_ctrlp->getValue(); + keep_log_ctrlp->getSignal()->connect(boost::bind(&LLConversationLog::enableLogging, this, _2)); + if (log_mode > 0) + { + loadFromFile(getFileName()); - enableLogging(log_mode); + enableLogging(log_mode); + } } } -- cgit v1.2.3 From c4f283334c9ee6abff7253d8024f3b1870b342f3 Mon Sep 17 00:00:00 2001 From: Gilbert Gonzales Date: Tue, 19 Mar 2013 11:34:13 -0700 Subject: CHUI 796 (User doesn't get all messages in 'do not disturb' mode): Now IM DND notifications will be stored as p2p, ad-hoc or group. When loading these notifications upon app start ad-hoc/group notifications will launch the conversation log and play a sound. --- .../newview/lldonotdisturbnotificationstorage.cpp | 25 ++++++++++++++++++++-- indra/newview/llimview.cpp | 2 ++ 2 files changed, 25 insertions(+), 2 deletions(-) (limited to 'indra') diff --git a/indra/newview/lldonotdisturbnotificationstorage.cpp b/indra/newview/lldonotdisturbnotificationstorage.cpp index 22f35752bd..be20adeb8a 100644 --- a/indra/newview/lldonotdisturbnotificationstorage.cpp +++ b/indra/newview/lldonotdisturbnotificationstorage.cpp @@ -33,6 +33,7 @@ #include "lldir.h" #include "llerror.h" #include "llfloaterreg.h" +#include "llimview.h" #include "llnotifications.h" #include "llnotificationhandler.h" #include "llnotificationstorage.h" @@ -145,6 +146,8 @@ void LLDoNotDisturbNotificationStorage::loadNotifications() LLNotifications& instance = LLNotifications::instance(); bool imToastExists = false; + bool group_ad_hoc_toast_exists = false; + S32 toastSessionType; bool offerExists = false; for (LLSD::array_const_iterator notification_it = data.beginArray(); @@ -158,7 +161,20 @@ void LLDoNotDisturbNotificationStorage::loadNotifications() if(notificationName == toastName) { - imToastExists = true; + toastSessionType = notification_params["payload"]["SESSION_TYPE"]; + if(toastSessionType == LLIMModel::LLIMSession::P2P_SESSION) + { + imToastExists = true; + } + //Don't add group/ad-hoc messages to the notification system because + //this means the group/ad-hoc session has to be re-created + else if(toastSessionType == LLIMModel::LLIMSession::GROUP_SESSION + || toastSessionType == LLIMModel::LLIMSession::ADHOC_SESSION) + { + //Just allows opening the conversation log for group/ad-hoc messages upon startup + group_ad_hoc_toast_exists = true; + continue; + } } else if(notificationName == offerName) { @@ -197,7 +213,12 @@ void LLDoNotDisturbNotificationStorage::loadNotifications() LLFloaterReg::showInstance("im_container"); } - if(imToastExists || offerExists) + if(group_ad_hoc_toast_exists) + { + LLFloaterReg::showInstance("conversation"); + } + + if(imToastExists || group_ad_hoc_toast_exists || offerExists) { make_ui_sound_deferred("UISndNewIncomingIMSession"); } diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 10e214bc90..8c862548bb 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -154,6 +154,7 @@ static void on_avatar_name_cache_toast(const LLUUID& agent_id, args["FROM"] = av_name.getCompleteName(); args["FROM_ID"] = msg["from_id"]; args["SESSION_ID"] = msg["session_id"]; + args["SESSION_TYPE"] = msg["session_type"]; LLNotificationsUtil::add("IMToast", args, args, boost::bind(&LLFloaterIMContainer::showConversation, LLFloaterIMContainer::getInstance(), msg["session_id"].asUUID())); } @@ -1008,6 +1009,7 @@ bool LLIMModel::addMessage(const LLUUID& session_id, const std::string& from, co arg["from"] = from; arg["from_id"] = from_id; arg["time"] = LLLogChat::timestamp(false); + arg["session_type"] = session->mSessionType; mNewMsgSignal(arg); return true; -- cgit v1.2.3 From 2a8baeed3a2dc67abff131249aa23538e76fb05d Mon Sep 17 00:00:00 2001 From: Gilbert Gonzales Date: Tue, 19 Mar 2013 16:46:04 -0700 Subject: CHUI-843 ([CHUIBUG]Suggested alteration to toolbar_panel in floater_im_container in CHUI): Adjusted button layout in conversation floater. --- indra/newview/skins/default/xui/en/floater_im_container.xml | 10 +++++----- indra/newview/skins/default/xui/en/floater_im_session.xml | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/floater_im_container.xml b/indra/newview/skins/default/xui/en/floater_im_container.xml index 12c1676127..65f623a47e 100644 --- a/indra/newview/skins/default/xui/en/floater_im_container.xml +++ b/indra/newview/skins/default/xui/en/floater_im_container.xml @@ -61,7 +61,7 @@ image_unselected="Toolbar_Middle_Off" menu_filename="menu_participant_view.xml" layout="topleft" - left="10" + left="5" name="sort_btn" tool_tip="View/sort options" top="5" @@ -75,7 +75,7 @@ image_unselected="Toolbar_Middle_Off" layout="topleft" top="5" - left_pad="4" + left_pad="2" name="add_btn" tool_tip="Start a new conversation" width="31"/> @@ -88,7 +88,7 @@ image_unselected="Toolbar_Middle_Off" layout="topleft" top="5" - left_pad="4" + left_pad="2" name="speak_btn" tool_tip="Speak with people using your microphone" width="31"/> @@ -114,7 +114,7 @@ @@ -146,7 +146,7 @@ image_unselected="Toolbar_Middle_Off" layout="topleft" top="5" - left_pad="4" + left_pad="2" name="voice_call_btn" tool_tip="Open voice connection" width="31"/> @@ -171,7 +171,7 @@ image_unselected="Toolbar_Middle_Off" layout="topleft" top="5" - left="283" + left="292" name="close_btn" tool_tip="End this conversation" width="31" /> @@ -184,7 +184,7 @@ image_unselected="Toolbar_Middle_Off" layout="topleft" top="5" - left_pad="5" + left_pad="2" name="expand_collapse_btn" tool_tip="Collapse/Expand this pane" width="31" /> @@ -197,7 +197,7 @@ image_unselected="Toolbar_Middle_Off" layout="topleft" top="5" - left_pad="5" + left_pad="2" name="tear_off_btn" width="31" /> -- cgit v1.2.3