Re: 3ea353bef3, fix minimize case to minimize and not steal focus. Also apply to group chats.
This commit is contained in:
@@ -1137,11 +1137,17 @@ LLFloaterIMPanel* LLIMMgr::createFloater(
|
|||||||
gFloaterView->addChild(floater); // reparent to floater view
|
gFloaterView->addChild(floater); // reparent to floater view
|
||||||
LLFloater* focused_floater = gFloaterView->getFocusedFloater(); // obtain the focused floater
|
LLFloater* focused_floater = gFloaterView->getFocusedFloater(); // obtain the focused floater
|
||||||
floater->open(); // make the new chat floater appear
|
floater->open(); // make the new chat floater appear
|
||||||
|
static LLCachedControl<bool> minimize("OtherChatsTornOffAndMinimized");
|
||||||
if (focused_floater != NULL) // there was a focused floater
|
if (focused_floater != NULL) // there was a focused floater
|
||||||
{
|
{
|
||||||
floater->setMinimized(true); // so minimize this one, for now
|
floater->setMinimized(true); // so minimize this one, for now
|
||||||
focused_floater->setFocus(true); // and work around focus being removed by focusing on the last
|
focused_floater->setFocus(true); // and work around focus being removed by focusing on the last
|
||||||
}
|
}
|
||||||
|
else if (minimize)
|
||||||
|
{
|
||||||
|
floater->setFocus(false); // work around focus being granted to new floater
|
||||||
|
floater->setMinimized(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
mFloaters.insert(floater->getHandle());
|
mFloaters.insert(floater->getHandle());
|
||||||
return floater;
|
return floater;
|
||||||
@@ -1184,6 +1190,7 @@ LLFloaterIMPanel* LLIMMgr::createFloater(
|
|||||||
}
|
}
|
||||||
else if (minimize)
|
else if (minimize)
|
||||||
{
|
{
|
||||||
|
floater->setFocus(false); // work around focus being granted to new floater
|
||||||
floater->setMinimized(true);
|
floater->setMinimized(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user