diff options
| author | Oz Linden <oz@lindenlab.com> | 2010-12-14 14:44:23 -0500 |
|---|---|---|
| committer | Oz Linden <oz@lindenlab.com> | 2010-12-14 14:44:23 -0500 |
| commit | 3aa12e85f04f0608da5df05b2cbb01685ef62944 (patch) | |
| tree | 02e78886d530c92e3eddf0f73f3eb7f8a5b641da /indra/newview/llmoveview.cpp | |
| parent | bae83c7eac98229271a6baf4c961fe167c74a597 (diff) | |
| parent | a702b34394e4b38b27338eb6d68d22b498984118 (diff) | |
merge fix(es) for storm-378
Diffstat (limited to 'indra/newview/llmoveview.cpp')
| -rw-r--r-- | indra/newview/llmoveview.cpp | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp index 89d551f129..142ee40cc8 100644 --- a/indra/newview/llmoveview.cpp +++ b/indra/newview/llmoveview.cpp @@ -449,17 +449,20 @@ void LLFloaterMove::updatePosition() LLBottomTray* tray = LLBottomTray::getInstance(); if (!tray) return; - LLButton* movement_btn = tray->getChild<LLButton>(BOTTOM_TRAY_BUTTON_NAME); + LLButton* movement_btn = tray->findChild<LLButton>(BOTTOM_TRAY_BUTTON_NAME); - //align centers of a button and a floater - S32 x = movement_btn->calcScreenRect().getCenterX() - getRect().getWidth()/2; - - S32 y = 0; - if (!mModeActionsPanel->getVisible()) + if (movement_btn) { - y = mModeActionsPanel->getRect().getHeight(); + //align centers of a button and a floater + S32 x = movement_btn->calcScreenRect().getCenterX() - getRect().getWidth()/2; + + S32 y = 0; + if (!mModeActionsPanel->getVisible()) + { + y = mModeActionsPanel->getRect().getHeight(); + } + setOrigin(x, y); } - setOrigin(x, y); } //static @@ -736,10 +739,18 @@ void LLPanelStandStopFlying::updatePosition() LLBottomTray* tray = LLBottomTray::getInstance(); if (!tray || mAttached) return; - LLButton* movement_btn = tray->getChild<LLButton>(BOTTOM_TRAY_BUTTON_NAME); + LLButton* movement_btn = tray->findChild<LLButton>(BOTTOM_TRAY_BUTTON_NAME); - // Align centers of the button and the panel. - S32 x = movement_btn->calcScreenRect().getCenterX() - getRect().getWidth()/2; + S32 x = 0; + if (movement_btn) + { + // Align centers of the button and the panel. + x = movement_btn->calcScreenRect().getCenterX() - getRect().getWidth()/2; + } + else + { + x = tray->calcScreenRect().getCenterX() - getRect().getWidth()/2; + } setOrigin(x, 0); } |
