summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2024-05-14 20:55:27 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2024-05-15 11:25:57 +0300
commitfb17c00f14b2ee9238287284f0d660311f1e4f54 (patch)
treef962b4cf9248145f3e30c8da7bf1434766e1372f
parent2008f87f10d51a2f9372aa4a4d72e86ac94e1e81 (diff)
triage#49 Menu didn't work for already selected items
-rw-r--r--indra/newview/llpanelnearbymedia.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/indra/newview/llpanelnearbymedia.cpp b/indra/newview/llpanelnearbymedia.cpp
index a8553b654e..36605fed7a 100644
--- a/indra/newview/llpanelnearbymedia.cpp
+++ b/indra/newview/llpanelnearbymedia.cpp
@@ -260,10 +260,16 @@ bool LLPanelNearByMedia::handleRightMouseDown(S32 x, S32 y, MASK mask)
S32 x_list, y_list;
localPointToOtherView(x, y, &x_list, &y_list, mMediaList);
if (mMoreLessBtn->getToggleState()
- && mMediaList->pointInView(x_list, y_list)
- && mMediaList->selectItemAt(x_list, y_list, mask))
+ && mMediaList->pointInView(x_list, y_list))
{
- if (mContextMenu)
+ LLScrollListItem* hit_item = mMediaList->hitItem(x_list, y_list);
+ bool selected = hit_item && hit_item->getSelected();
+ if (!selected)
+ {
+ selected = mMediaList->selectItemAt(x_list, y_list, mask);
+ }
+
+ if (selected && mContextMenu)
{
mContextMenu->buildDrawLabels();
mContextMenu->updateParent(LLMenuGL::sMenuContainer);