summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llui/lldockablefloater.cpp4
-rw-r--r--indra/newview/llsyswellwindow.cpp11
-rw-r--r--indra/newview/lltoast.cpp1
3 files changed, 12 insertions, 4 deletions
diff --git a/indra/llui/lldockablefloater.cpp b/indra/llui/lldockablefloater.cpp
index f56cb2eee7..c3dd4ae647 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 2fb6550107..eada387945 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 903df21e78..513439daeb 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)