diff options
author | Eugene Mutavchi <emutavchi@productengine.com> | 2009-12-22 15:35:06 +0200 |
---|---|---|
committer | Eugene Mutavchi <emutavchi@productengine.com> | 2009-12-22 15:35:06 +0200 |
commit | 33d76f152ee1df7600f157c627ce5f78a681778d (patch) | |
tree | 1d860f33088e3e42b7f78a28634c6626a133f068 | |
parent | c72de2edf0a2f7590fd43d86c59e83afcf7e8bcf (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.cpp | 19 | ||||
-rw-r--r-- | indra/newview/llimview.h | 2 |
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); |