From e7519e8a977138627b429ca43a10184c82efc66e Mon Sep 17 00:00:00 2001 From: Alexei Arabadji <aarabadji@productengine.com> Date: Mon, 16 Nov 2009 11:41:21 +0200 Subject: [PATCH] fixed EXT-2402 "Clicking on notification item in the Message Well should bring it to front" made LLToast and LLDockableFloater goes foreground on setVisible(TRUE); --HG-- branch : product-engine --- indra/llui/lldockablefloater.cpp | 4 ++++ indra/newview/llsyswellwindow.cpp | 11 +++++++---- indra/newview/lltoast.cpp | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/indra/llui/lldockablefloater.cpp b/indra/llui/lldockablefloater.cpp index f56cb2eee72..c3dd4ae647d 100644 --- a/indra/llui/lldockablefloater.cpp +++ b/indra/llui/lldockablefloater.cpp @@ -127,6 +127,10 @@ void LLDockableFloater::setVisible(BOOL visible) mDockControl.get()->repositionDockable(); } + if (visible) + { + LLFloater::setFrontmost(TRUE); + } LLFloater::setVisible(visible); } diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp index 2fb6550107a..eada3879456 100644 --- a/indra/newview/llsyswellwindow.cpp +++ b/indra/newview/llsyswellwindow.cpp @@ -90,9 +90,9 @@ BOOL LLSysWellWindow::postBuild() void LLSysWellWindow::setMinimized(BOOL minimize) { // we don't show empty Message Well window - if (!minimize) + if (!minimize && isWindowEmpty()) { - setVisible(!isWindowEmpty()); + return; } LLDockableFloater::setMinimized(minimize); @@ -268,8 +268,11 @@ void LLSysWellWindow::toggleWindow() { setVisible(FALSE); } - //set window in foreground - setFocus(getVisible()); + else if(!isDocked()) + { + // bring to front undocked floater + setVisible(TRUE); + } } //--------------------------------------------------------------------------------- diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp index 903df21e785..513439daeb9 100644 --- a/indra/newview/lltoast.cpp +++ b/indra/newview/lltoast.cpp @@ -225,6 +225,7 @@ void LLToast::setVisible(BOOL show) { mTimer.start(); } + LLModalDialog::setFrontmost(TRUE); } LLPanel::setVisible(show); if(mPanel) -- GitLab