summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llui/llmodaldialog.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/indra/llui/llmodaldialog.cpp b/indra/llui/llmodaldialog.cpp
index 50fc6913a9..3e5978eb59 100644
--- a/indra/llui/llmodaldialog.cpp
+++ b/indra/llui/llmodaldialog.cpp
@@ -112,11 +112,13 @@ void LLModalDialog::onOpen(const LLSD& key)
setFocus(TRUE);
std::list<LLModalDialog*>::iterator iter = std::find(sModalStack.begin(), sModalStack.end(), this);
- if (iter == sModalStack.end())
+ if (iter != sModalStack.end())
{
- sModalStack.push_front(this);
+ // if already present, we want to move it to front.
+ sModalStack.erase(iter);
}
- // else act like it is a 'bring to front'
+
+ sModalStack.push_front(this);
}
}