summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llfloaterimsessiontab.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp
index 7a0de78ac5..a44303f72c 100644
--- a/indra/newview/llfloaterimsessiontab.cpp
+++ b/indra/newview/llfloaterimsessiontab.cpp
@@ -453,12 +453,19 @@ void LLFloaterIMSessionTab::onInputEditorClicked()
void LLFloaterIMSessionTab::onEmojiRecentPanelToggleBtnClicked(LLFloaterIMSessionTab* self)
{
+ bool restore_focus = (gFocusMgr.getLastKeyboardFocus() == self->mInputEditor);
+
BOOL show = !self->mEmojiRecentPanel->getVisible();
if (show)
{
- self->initEmojiRecentPanel(true);
+ self->initEmojiRecentPanel(!restore_focus);
}
self->mEmojiRecentPanel->setVisible(show);
+
+ if (restore_focus)
+ {
+ self->mInputEditor->setFocus(true);
+ }
}
void LLFloaterIMSessionTab::onEmojiPickerToggleBtnClicked(LLFloaterIMSessionTab* self)