Fixed normal priority bug EXT-2606 (Stand/Stop Flying btn disappear if movement floater looses focus).
--HG-- branch : product-enginemeow-7.2.2
parent
4dc294e6dc
commit
40041fc2af
|
|
@ -83,11 +83,6 @@ LLFloaterMove::LLFloaterMove(const LLSD& key)
|
|||
{
|
||||
}
|
||||
|
||||
LLFloaterMove::~LLFloaterMove()
|
||||
{
|
||||
LLPanelStandStopFlying::getInstance()->reparent(NULL);
|
||||
}
|
||||
|
||||
// virtual
|
||||
BOOL LLFloaterMove::postBuild()
|
||||
{
|
||||
|
|
@ -161,6 +156,31 @@ void LLFloaterMove::setEnabled(BOOL enabled)
|
|||
showModeButtons(enabled);
|
||||
}
|
||||
|
||||
// *NOTE: we assume that setVisible() is called on floater close.
|
||||
// virtual
|
||||
void LLFloaterMove::setVisible(BOOL visible)
|
||||
{
|
||||
// Ignore excessive calls of this method (from LLTransientFloaterMgr?).
|
||||
if (getVisible() == visible)
|
||||
return;
|
||||
|
||||
if (visible)
|
||||
{
|
||||
// Attach the Stand/Stop Flying panel.
|
||||
LLPanelStandStopFlying* ssf_panel = LLPanelStandStopFlying::getInstance();
|
||||
ssf_panel->reparent(this);
|
||||
const LLRect& mode_actions_rect = mModeActionsPanel->getRect();
|
||||
ssf_panel->setOrigin(mode_actions_rect.mLeft, mode_actions_rect.mBottom);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Detach the Stand/Stop Flying panel.
|
||||
LLPanelStandStopFlying::getInstance()->reparent(NULL);
|
||||
}
|
||||
|
||||
LLTransientDockableFloater::setVisible(visible);
|
||||
}
|
||||
|
||||
// static
|
||||
F32 LLFloaterMove::getYawRate( F32 time )
|
||||
{
|
||||
|
|
@ -429,16 +449,6 @@ void LLFloaterMove::showModeButtons(BOOL bShow)
|
|||
if (NULL == mModeActionsPanel || mModeActionsPanel->getVisible() == bShow)
|
||||
return;
|
||||
mModeActionsPanel->setVisible(bShow);
|
||||
|
||||
if (bShow)
|
||||
LLPanelStandStopFlying::getInstance()->reparent(NULL);
|
||||
else
|
||||
{
|
||||
LLPanelStandStopFlying* ssf_panel = LLPanelStandStopFlying::getInstance();
|
||||
ssf_panel->reparent(this);
|
||||
const LLRect& mode_actions_rect = mModeActionsPanel->getRect();
|
||||
ssf_panel->setOrigin(mode_actions_rect.mLeft, mode_actions_rect.mBottom);
|
||||
}
|
||||
}
|
||||
|
||||
//static
|
||||
|
|
|
|||
|
|
@ -51,11 +51,12 @@ class LLFloaterMove
|
|||
|
||||
private:
|
||||
LLFloaterMove(const LLSD& key);
|
||||
~LLFloaterMove();
|
||||
~LLFloaterMove() {}
|
||||
public:
|
||||
|
||||
/*virtual*/ BOOL postBuild();
|
||||
/*virtual*/ void setEnabled(BOOL enabled);
|
||||
/*virtual*/ void setVisible(BOOL visible);
|
||||
static F32 getYawRate(F32 time);
|
||||
static void setFlyingMode(BOOL fly);
|
||||
void setFlyingModeImpl(BOOL fly);
|
||||
|
|
|
|||
Loading…
Reference in New Issue