diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 8e6362d0ad..27e614e936 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -3326,7 +3326,7 @@ Type Boolean Value - 1 + 0 FSCloseChatOnReturnOnlyForNearbyChatControl diff --git a/indra/newview/fsnearbychatcontrol.cpp b/indra/newview/fsnearbychatcontrol.cpp index 6b7a620fb3..786c3357be 100644 --- a/indra/newview/fsnearbychatcontrol.cpp +++ b/indra/newview/fsnearbychatcontrol.cpp @@ -243,18 +243,18 @@ void FSNearbyChatControl::autohide(bool after_send) if (isDefault()) { const bool in_mouselook = gAgentCamera.cameraMouselook(); - const bool closeChatOnReturn = gSavedSettings.getBOOL("CloseChatOnReturn") + const bool show_interface_in_mouselook = gSavedSettings.getBOOL("FSShowInterfaceInMouselook"); + const bool closeChatOnReturn = gSavedSettings.getBOOL("CloseChatOnReturn") && !(!in_mouselook && gSavedSettings.getBOOL("FSCloseChatOnReturnInMouselook")); const bool autohideChatBar = gSavedSettings.getBOOL("AutohideChatBar"); - bool hide_chatbar = false; if (closeChatOnReturn) { setFocus(false); - hide_chatbar = autohideChatBar; } - if (hide_chatbar || (!after_send && autohideChatBar)) + if ((!after_send || closeChatOnReturn) && + ((in_mouselook && !show_interface_in_mouselook) || autohideChatBar)) { FSNearbyChat::instance().showDefaultChatBar(false); }