summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2012-08-22 15:49:38 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2012-08-22 15:49:38 -0400
commit48d9dc9a8ef0a6f4aa53fa1061463678cb9de0c7 (patch)
tree67bf6082ce2ef92e1b4e4fad326473332d0841a8 /indra/llui
parent01a229ecdf466bc183ad68b130b0bb2befcc1e6a (diff)
parent63d04204a99802d3200452e101d9bb1b898be881 (diff)
merge
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llfloater.cpp4
-rw-r--r--indra/llui/lltoggleablemenu.cpp4
-rw-r--r--indra/llui/tests/llurlentry_stub.cpp5
3 files changed, 10 insertions, 3 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index 8ca1e685a9..90251ac7c6 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -748,6 +748,10 @@ void LLFloater::closeFloater(bool app_quitting)
dependee->setFocus(TRUE);
}
}
+
+ // STORM-1879: since this floater has focus, treat the closeFloater- call
+ // like a click on the close-button, and close gear- and contextmenus
+ LLMenuGL::sMenuContainer->hideMenus();
}
dirtyRect();
diff --git a/indra/llui/lltoggleablemenu.cpp b/indra/llui/lltoggleablemenu.cpp
index d29260750f..e4d1a37569 100644
--- a/indra/llui/lltoggleablemenu.cpp
+++ b/indra/llui/lltoggleablemenu.cpp
@@ -57,7 +57,9 @@ void LLToggleableMenu::handleVisibilityChange (BOOL curVisibilityIn)
S32 x,y;
LLUI::getMousePositionLocal(LLUI::getRootView(), &x, &y);
- if (!curVisibilityIn && mButtonRect.pointInRect(x, y))
+ // STORM-1879: also check MouseCapture to see if the button was really
+ // clicked (otherwise the VisibilityChange was triggered via keyboard shortcut)
+ if (!curVisibilityIn && mButtonRect.pointInRect(x, y) && gFocusMgr.getMouseCapture())
{
mClosedByButtonClick = true;
}
diff --git a/indra/llui/tests/llurlentry_stub.cpp b/indra/llui/tests/llurlentry_stub.cpp
index cb3b7abb14..74ed72ef97 100644
--- a/indra/llui/tests/llurlentry_stub.cpp
+++ b/indra/llui/tests/llurlentry_stub.cpp
@@ -40,9 +40,10 @@ bool LLAvatarNameCache::get(const LLUUID& agent_id, LLAvatarName *av_name)
return false;
}
-void LLAvatarNameCache::get(const LLUUID& agent_id, callback_slot_t slot)
+LLAvatarNameCache::callback_connection_t LLAvatarNameCache::get(const LLUUID& agent_id, callback_slot_t slot)
{
- return;
+ callback_connection_t connection;
+ return connection;
}
bool LLAvatarNameCache::useDisplayNames()