diff options
-rw-r--r-- | indra/newview/llfloaterimsessiontab.cpp | 9 |
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) |