diff options
author | Oz Linden <oz@lindenlab.com> | 2012-01-09 09:05:14 -0500 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2012-01-09 09:05:14 -0500 |
commit | 03290257345c22f909cf1cfac3981e7e07820d21 (patch) | |
tree | 4b4be7538fb1768f32d6b3c2e7cd060b48d2faca /indra/newview/llchiclet.cpp | |
parent | 889d4d292b2318a2be4988a700d5f56a193a377a (diff) | |
parent | 41ceee848bbbaec892471b6396bd2d2383d10aa3 (diff) |
merge up to latest viewer-development
Diffstat (limited to 'indra/newview/llchiclet.cpp')
-rw-r--r-- | indra/newview/llchiclet.cpp | 13 |
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") |