From b44496495218ab6d005a065625dd5232af4869ce Mon Sep 17 00:00:00 2001
From: James Cook <james@lindenlab.com>
Date: Fri, 30 Oct 2009 11:37:16 -0700
Subject: [PATCH] EXT-1962 Back button drop down menu now aligns to button.
 LLNavigationBar was passing coordinates to LLMenuGL::showPopup() in the wrong
 coordinate frame.  Added comments to LLMenuGL to clarify which coordinate
 frame to use.  Not reviewed.

---
 indra/llui/llmenugl.cpp           | 4 ++--
 indra/llui/llmenugl.h             | 2 +-
 indra/newview/llnavigationbar.cpp | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp
index 6e058e4c629..91e7e46195d 100644
--- a/indra/llui/llmenugl.cpp
+++ b/indra/llui/llmenugl.cpp
@@ -2894,8 +2894,8 @@ void hide_top_view( LLView* view )
 }
 
 
-// x and y are the desired location for the popup, NOT necessarily the
-// mouse location
+// x and y are the desired location for the popup, in the spawning_view's
+// coordinate frame, NOT necessarily the mouse location
 // static
 void LLMenuGL::showPopup(LLView* spawning_view, LLMenuGL* menu, S32 x, S32 y)
 {
diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h
index 48887ec3520..09d9e407c7b 100644
--- a/indra/llui/llmenugl.h
+++ b/indra/llui/llmenugl.h
@@ -505,7 +505,7 @@ class LLMenuGL
 	void buildDrawLabels();
 	void createJumpKeys();
 
-	// Show popup at a specific location.
+	// Show popup at a specific location, in the spawn_view's coordinate frame
 	static void showPopup(LLView* spawning_view, LLMenuGL* menu, S32 x, S32 y);
 
 	// Whether to drop shadow menu bar 
diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp
index 9a058128475..e63daac4afb 100644
--- a/indra/newview/llnavigationbar.cpp
+++ b/indra/newview/llnavigationbar.cpp
@@ -517,8 +517,8 @@ void	LLNavigationBar::showTeleportHistoryMenu()
 	// *TODO: why to draw/update anything before showing the menu?
 	mTeleportHistoryMenu->buildDrawLabels();
 	mTeleportHistoryMenu->updateParent(LLMenuGL::sMenuContainer);
-	LLRect btnBackRect = mBtnBack->getRect();
-	LLMenuGL::showPopup(this, mTeleportHistoryMenu, btnBackRect.mLeft, btnBackRect.mBottom);
+	const S32 MENU_SPAWN_PAD = -1;
+	LLMenuGL::showPopup(mBtnBack, mTeleportHistoryMenu, 0, MENU_SPAWN_PAD);
 
 	// *HACK pass the mouse capturing to the drop-down menu
 	gFocusMgr.setMouseCapture( NULL );
-- 
GitLab