summaryrefslogtreecommitdiff
path: root/indra/newview/llchiclet.cpp
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2012-01-09 09:05:14 -0500
committerOz Linden <oz@lindenlab.com>2012-01-09 09:05:14 -0500
commit03290257345c22f909cf1cfac3981e7e07820d21 (patch)
tree4b4be7538fb1768f32d6b3c2e7cd060b48d2faca /indra/newview/llchiclet.cpp
parent889d4d292b2318a2be4988a700d5f56a193a377a (diff)
parent41ceee848bbbaec892471b6396bd2d2383d10aa3 (diff)
merge up to latest viewer-development
Diffstat (limited to 'indra/newview/llchiclet.cpp')
-rw-r--r--indra/newview/llchiclet.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp
index a076374903..aabab0ccb9 100644
--- a/indra/newview/llchiclet.cpp
+++ b/indra/newview/llchiclet.cpp
@@ -250,6 +250,12 @@ LLIMWellChiclet::LLIMWellChiclet(const Params& p)
LLIMWellChiclet::~LLIMWellChiclet()
{
+ LLIMWellWindow* im_well_window = LLIMWellWindow::findInstance();
+ if (im_well_window)
+ {
+ im_well_window->setSysWellChiclet(NULL);
+ }
+
LLIMMgr::getInstance()->removeSessionObserver(this);
}
@@ -296,6 +302,13 @@ void LLIMWellChiclet::createMenu()
void LLIMWellChiclet::messageCountChanged(const LLSD& session_data)
{
+ // The singleton class LLChicletBar instance might be already deleted
+ // so don't create a new one.
+ if (!LLChicletBar::instanceExists())
+ {
+ return;
+ }
+
const LLUUID& session_id = session_data["session_id"];
const S32 counter = LLChicletBar::getInstance()->getTotalUnreadIMCount();
const bool im_not_visible = !LLFloaterReg::instanceVisible("im_container")