diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index 3836aa5abf..7411f1e9b3 100755 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -319,16 +319,22 @@ void LLNavigationBar::setupPanel() fillSearchComboBox(); mBtnBack->setEnabled(FALSE); - mBtnBack->setClickedCallback(boost::bind(&LLNavigationBar::onBackButtonClicked, this)); + // [FS:CR] FIRE-12333 + //mBtnBack->setClickedCallback(boost::bind(&LLNavigationBar::onBackButtonClicked, this)); + mBtnBack->setClickedCallback(boost::bind(&LLNavigationBar::onBackButtonClicked, this, _1)); mBtnBack->setHeldDownCallback(boost::bind(&LLNavigationBar::onBackOrForwardButtonHeldDown, this,_1, _2)); mBtnBack->setClickDraggingCallback(boost::bind(&LLNavigationBar::showTeleportHistoryMenu, this,_1)); mBtnForward->setEnabled(FALSE); - mBtnForward->setClickedCallback(boost::bind(&LLNavigationBar::onForwardButtonClicked, this)); + // [FS:CR] FIRE-12333 + //mBtnForward->setClickedCallback(boost::bind(&LLNavigationBar::onForwardButtonClicked, this)); + mBtnForward->setClickedCallback(boost::bind(&LLNavigationBar::onForwardButtonClicked, this, _1)); mBtnForward->setHeldDownCallback(boost::bind(&LLNavigationBar::onBackOrForwardButtonHeldDown, this, _1, _2)); mBtnForward->setClickDraggingCallback(boost::bind(&LLNavigationBar::showTeleportHistoryMenu, this,_1)); - mBtnHome->setClickedCallback(boost::bind(&LLNavigationBar::onHomeButtonClicked, this)); + // [FS:CR] FIRE-12333 + //mBtnHome->setClickedCallback(boost::bind(&LLNavigationBar::onHomeButtonClicked, this)); + mBtnHome->setClickedCallback(boost::bind(&LLNavigationBar::onHomeButtonClicked, this, _1)); mCmbLocation->setCommitCallback(boost::bind(&LLNavigationBar::onLocationSelection, this)); @@ -419,9 +425,12 @@ void LLNavigationBar::fillSearchComboBox() // } // -void LLNavigationBar::onBackButtonClicked() +// [FS:CR] FIRE-12333 +//void LLNavigationBar::onBackButtonClicked() +void LLNavigationBar::onBackButtonClicked(LLUICtrl* ctrl) { LLTeleportHistory::getInstance()->goBack(); + gFocusMgr.releaseFocusIfNeeded(ctrl); // [FS:CR] FIRE-12333 } void LLNavigationBar::onBackOrForwardButtonHeldDown(LLUICtrl* ctrl, const LLSD& param) @@ -430,14 +439,20 @@ void LLNavigationBar::onBackOrForwardButtonHeldDown(LLUICtrl* ctrl, const LLSD& showTeleportHistoryMenu(ctrl); } -void LLNavigationBar::onForwardButtonClicked() +// [FS:CR] FIRE-12333 +//void LLNavigationBar::onForwardButtonClicked() +void LLNavigationBar::onForwardButtonClicked(LLUICtrl* ctrl) { LLTeleportHistory::getInstance()->goForward(); + gFocusMgr.releaseFocusIfNeeded(ctrl); // [FS:CR] FIRE-12333 } -void LLNavigationBar::onHomeButtonClicked() +// [FS:CR] FIRE-12333 +//void LLNavigationBar::onHomeButtonClicked() +void LLNavigationBar::onHomeButtonClicked(LLUICtrl* ctrl) { gAgent.teleportHome(); + gFocusMgr.releaseFocusIfNeeded(ctrl); // [FS:CR] FIRE-12333 } void LLNavigationBar::onSearchCommit() diff --git a/indra/newview/llnavigationbar.h b/indra/newview/llnavigationbar.h index c0d77f249b..4f302a7e2c 100755 --- a/indra/newview/llnavigationbar.h +++ b/indra/newview/llnavigationbar.h @@ -120,11 +120,16 @@ private: // callbacks void onTeleportHistoryMenuItemClicked(const LLSD& userdata); void onTeleportHistoryChanged(); - void onBackButtonClicked(); + // [FS:CR] FIRE-12333 + //void onBackButtonClicked(); + void onBackButtonClicked(LLUICtrl* ctrl); void onBackOrForwardButtonHeldDown(LLUICtrl* ctrl, const LLSD& param); void onNavigationButtonHeldUp(LLButton* nav_button); - void onForwardButtonClicked(); - void onHomeButtonClicked(); + // [FS:CR] FIRE-12333 + //void onForwardButtonClicked(); + //void onHomeButtonClicked(); + void onForwardButtonClicked(LLUICtrl* ctrl); + void onHomeButtonClicked(LLUICtrl* ctrl); void onLocationSelection(); void onLocationPrearrange(const LLSD& data); void onSearchCommit();