diff options
author | Andrew Dyukov <adyukov@productengine.com> | 2010-02-19 15:08:28 +0200 |
---|---|---|
committer | Andrew Dyukov <adyukov@productengine.com> | 2010-02-19 15:08:28 +0200 |
commit | a1cfce861ad949cec561d8dbf3d296f8847aa8a6 (patch) | |
tree | 2a9650f8bf0b3536f0e06fb9a2de14a368448ac8 /indra/newview | |
parent | f752b73cb2c18521765760bb7986816ee7b94056 (diff) |
Partial fix for major bug EXT-5524 (Crash in LLVoiceClient when quitting viewer without login).
- Used call of LLVoiceClient::instanceExists() instead of gVoiceClient in check in LLVoiceChannel destructor
to avoid crash when quitting viewer by closing console window before login. So now crash won't happen in
LLVoiceClient::removeObserver(). But crash will occur in other destructors later, so further investigation needed.
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llvoicechannel.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp index dfd67d0c38..fac7fa6a18 100644 --- a/indra/newview/llvoicechannel.cpp +++ b/indra/newview/llvoicechannel.cpp @@ -140,7 +140,10 @@ LLVoiceChannel::LLVoiceChannel(const LLUUID& session_id, const std::string& sess LLVoiceChannel::~LLVoiceChannel() { // Don't use LLVoiceClient::getInstance() here -- this can get called during atexit() time and that singleton MAY have already been destroyed. - if(gVoiceClient) + // Using call of instanceExists() instead of gVoiceClient in check to avoid crash in LLVoiceClient::removeObserver() + // when quitting viewer by closing console window before login (though in case of such quit crash will occur + // later in other destructors anyway). EXT-5524 + if(LLVoiceClient::instanceExists()) { gVoiceClient->removeObserver(this); } |