summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llsyswellwindow.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp
index 1ebf624eeb..c269e0b47e 100644
--- a/indra/newview/llsyswellwindow.cpp
+++ b/indra/newview/llsyswellwindow.cpp
@@ -752,6 +752,13 @@ void LLIMWellWindow::addIMRow(const LLUUID& sessionId, S32 chicletCounter,
//---------------------------------------------------------------------------------
void LLIMWellWindow::delIMRow(const LLUUID& sessionId)
{
+ //fix for EXT-3252
+ //without this line LLIMWellWindow receive onFocusLost
+ //and hide itself. It was becaue somehow LLIMChicklet was in focus group for
+ //LLIMWellWindow...
+ //But I didn't find why this happen..
+ gFocusMgr.clearLastFocusForGroup(this);
+
if (mMessageList->removeItemByValue(sessionId))
{
handleItemRemoved(IT_INSTANT_MESSAGE);
@@ -771,6 +778,10 @@ void LLIMWellWindow::delIMRow(const LLUUID& sessionId)
{
setVisible(FALSE);
}
+ else
+ {
+ setFocus(true);
+ }
}
void LLIMWellWindow::addObjectRow(const LLUUID& object_id, bool new_message/* = false*/)