summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Mutavchi <emutavchi@productengine.com>2009-12-22 15:35:06 +0200
committerEugene Mutavchi <emutavchi@productengine.com>2009-12-22 15:35:06 +0200
commit33d76f152ee1df7600f157c627ce5f78a681778d (patch)
tree1d860f33088e3e42b7f78a28634c6626a133f068
parentc72de2edf0a2f7590fd43d86c59e83afcf7e8bcf (diff)
Fixed low bug EXT-3430(Accept/reject voice call dialog appears in wrong place for several moments)
--HG-- branch : product-engine
-rw-r--r--indra/newview/llimview.cpp19
-rw-r--r--indra/newview/llimview.h2
2 files changed, 15 insertions, 6 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 8917cc11e1..403883ad99 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -1403,11 +1403,20 @@ void LLCallDialog::getAllowedRect(LLRect& rect)
rect = gViewerWindow->getWorldViewRectScaled();
}
-void LLCallDialog::onOpen(const LLSD& key)
+BOOL LLCallDialog::postBuild()
{
+ if (!LLDockableFloater::postBuild())
+ return FALSE;
+
// dock the dialog to the Speak Button, where other sys messages appear
- setDockControl(new LLDockControl(LLBottomTray::getInstance()->getChild<LLPanel>("speak_panel"),
- this, getDockTongue(), LLDockControl::TOP, boost::bind(&LLCallDialog::getAllowedRect, this, _1)));
+ LLView *anchor_panel = LLBottomTray::getInstance()->getChild<LLView>("speak_panel");
+
+ setDockControl(new LLDockControl(
+ anchor_panel, this,
+ getDockTongue(), LLDockControl::TOP,
+ boost::bind(&LLCallDialog::getAllowedRect, this, _1)));
+
+ return TRUE;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1551,7 +1560,7 @@ void LLOutgoingCallDialog::onCancel(void* user_data)
BOOL LLOutgoingCallDialog::postBuild()
{
- BOOL success = LLDockableFloater::postBuild();
+ BOOL success = LLCallDialog::postBuild();
childSetAction("Cancel", onCancel, this);
@@ -1570,7 +1579,7 @@ LLCallDialog(payload)
BOOL LLIncomingCallDialog::postBuild()
{
- LLDockableFloater::postBuild();
+ LLCallDialog::postBuild();
LLUUID session_id = mPayload["session_id"].asUUID();
LLSD caller_id = mPayload["caller_id"];
diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h
index 09f0c9df71..909fdaa37f 100644
--- a/indra/newview/llimview.h
+++ b/indra/newview/llimview.h
@@ -476,7 +476,7 @@ public:
LLCallDialog(const LLSD& payload);
~LLCallDialog() {}
- virtual void onOpen(const LLSD& key);
+ virtual BOOL postBuild();
protected:
virtual void getAllowedRect(LLRect& rect);