Fixed major bug EXT-3852 ([BSI] Tabs in Tabbed Instant Messaging do not auto focus the text field when clicked)
-- the reason: LLTabContainer set focus to the first panel child; -- fix: capture mouse with Input field to avoid processing of the input focus by LLTabContainer. --HG-- branch : product-enginemeow-7.2.2
parent
a2fb58b8db
commit
4e518758d7
|
|
@ -120,6 +120,12 @@ void LLIMFloater::onFocusLost()
|
|||
void LLIMFloater::onFocusReceived()
|
||||
{
|
||||
LLIMModel::getInstance()->setActiveSessionID(mSessionID);
|
||||
|
||||
// return focus to the input field when active tab in the multitab container is clicked.
|
||||
if (isChatMultiTab() && mInputEditor)
|
||||
{
|
||||
mInputEditor->setFocus(TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
// virtual
|
||||
|
|
@ -618,6 +624,14 @@ void LLIMFloater::onInputEditorFocusReceived( LLFocusableElement* caller, void*
|
|||
//in disconnected state IM input editor should be disabled
|
||||
self->mInputEditor->setEnabled(!gDisconnected);
|
||||
}
|
||||
|
||||
// when IM Floater is a part of the multitab container LLTabContainer set focus to the first
|
||||
// child on tab button's mouse up. This leads input field lost focus. See EXT-3852.
|
||||
if (isChatMultiTab())
|
||||
{
|
||||
// So, let capture mouse tp prevent LLTabContainer set focus on the panel's first child.
|
||||
gFocusMgr.setMouseCapture(self->mInputEditor);
|
||||
}
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
|
|||
Loading…
Reference in New Issue