diff options
Diffstat (limited to 'indra/newview/llsyswellwindow.cpp')
-rw-r--r-- | indra/newview/llsyswellwindow.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp index 669d8d1d70..c5a92f52d0 100644 --- a/indra/newview/llsyswellwindow.cpp +++ b/indra/newview/llsyswellwindow.cpp @@ -266,10 +266,6 @@ void LLSysWellWindow::toggleWindow() if(!getVisible()) { - if(mChannel) - { - mChannel->removeAndStoreAllStorableToasts(); - } if(isWindowEmpty()) { return; @@ -345,6 +341,13 @@ void LLSysWellWindow::reshapeWindow() curRect.setLeftTopAndSize(curRect.mLeft, newY, MIN_WINDOW_WIDTH, new_window_height); reshape(curRect.getWidth(), curRect.getHeight(), TRUE); setRect(curRect); + + // update notification channel state + // update on a window reshape is important only when a window is visible and docked + if(mChannel && getVisible() && isDocked()) + { + mChannel->updateShowToastsState(); + } } //--------------------------------------------------------------------------------- @@ -519,7 +522,7 @@ LLSysWellWindow::RowPanel::RowPanel(const LLSysWellWindow* parent, const LLUUID& contactName->setValue(name); mCloseBtn = getChild<LLButton>("hide_btn"); - mCloseBtn->setCommitCallback(boost::bind(&LLSysWellWindow::RowPanel::onClose, this)); + mCloseBtn->setCommitCallback(boost::bind(&LLSysWellWindow::RowPanel::onClosePanel, this)); } //--------------------------------------------------------------------------------- @@ -528,7 +531,7 @@ LLSysWellWindow::RowPanel::~RowPanel() } //--------------------------------------------------------------------------------- -void LLSysWellWindow::RowPanel::onClose() +void LLSysWellWindow::RowPanel::onClosePanel() { gIMMgr->removeSession(mChiclet->getSessionId()); // This row panel will be removed from the list in LLSysWellWindow::sessionRemoved(). |