summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilbert Gonzales <gilbert@lindenlab.com>2013-03-18 15:56:50 -0700
committerGilbert Gonzales <gilbert@lindenlab.com>2013-03-18 15:56:50 -0700
commit73f68342f657984d6ab3447f3f9dbc44f35b1982 (patch)
tree58cc3da95d7b00d872d1d5aee2e5059e533efd5f
parenta17ed876c8c55cb4f8977f5dbcec4ae99df98d70 (diff)
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.
-rw-r--r--indra/newview/llconversationlog.cpp15
1 files changed, 9 insertions, 6 deletions
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);
+ }
}
}