diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp index 045dbbd26e..9e3c7d0fc1 100644 --- a/indra/newview/llsyswellwindow.cpp +++ b/indra/newview/llsyswellwindow.cpp @@ -486,7 +486,7 @@ void LLNotificationWellWindow::addItem(LLSysWellItem::Params p) return; LLSysWellItem* new_item = new LLSysWellItem(p); - if (mMessageList->addItem(new_item, value, ADD_TOP, mUpdateLocked)) + if (mMessageList->addItem(new_item, value, ADD_TOP, !mUpdateLocked)) { if( !mUpdateLocked ) { @@ -528,7 +528,14 @@ void LLNotificationWellWindow::unlockWindowUpdate() { mUpdateLocked = false; mSysWellChiclet->updateWidget(isWindowEmpty()); + + // Let the list rearrange itself. This is normally called during addItem if the window is not locked. + LLSD oNotify; + oNotify["rearrange"] = 1; + mMessageList->notify( oNotify ); + reshapeWindow(); + } //////////////////////////////////////////////////////////////////////////