diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-07-21 17:19:04 +0300 | 
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-07-21 17:33:37 +0300 | 
| commit | d237b9ee1b0bbcdb3431f8afc873af4ee9e21a4e (patch) | |
| tree | 863724dcc3e097fef56db717023fda92488b569c /indra | |
| parent | 0941fcd5a48e9d4d95fb88750db3b964aa983486 (diff) | |
SL-20040 Fix selection callback
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llinventorygallery.cpp | 10 | 
1 files changed, 5 insertions, 5 deletions
| diff --git a/indra/newview/llinventorygallery.cpp b/indra/newview/llinventorygallery.cpp index 99bd772773..87dba5f100 100644 --- a/indra/newview/llinventorygallery.cpp +++ b/indra/newview/llinventorygallery.cpp @@ -1302,7 +1302,7 @@ void LLInventoryGallery::showContextMenu(LLUICtrl* ctrl, S32 x, S32 y, const LLU          if (std::find(mSelectedItemIDs.begin(), mSelectedItemIDs.end(), item_id) == mSelectedItemIDs.end())          {              mSelectedItemIDs.clear(); -            mSelectedItemIDs.push_back(item_id); +            changeItemSelection(item_id, false);          }          uuid_vec_t selected_uuids;          selected_uuids.push_back(item_id); @@ -1318,8 +1318,10 @@ void LLInventoryGallery::changeItemSelection(const LLUUID& item_id, bool scroll_          mNeedsSelection = true;          return;      } -    if (std::find(mSelectedItemIDs.begin(), mSelectedItemIDs.end(), item_id) == mSelectedItemIDs.end()) +    if (mSelectedItemIDs.size() == 1 +        && std::find(mSelectedItemIDs.begin(), mSelectedItemIDs.end(), item_id) != mSelectedItemIDs.end())      { +        // Already selected          return;      } @@ -1330,6 +1332,7 @@ void LLInventoryGallery::changeItemSelection(const LLUUID& item_id, bool scroll_              mItemMap[id]->setSelected(FALSE);          }      } +    mSelectedItemIDs.clear();      if (mItemMap[item_id])      { @@ -2388,9 +2391,6 @@ BOOL LLInventoryGalleryItem::handleRightMouseDown(S32 x, S32 y, MASK mask)  {      setFocus(TRUE);      mGallery->claimEditHandler(); - -    //S32 gal_x, gal_y; -    //localPointToOtherView(x, y, &gal_x, &gal_y, mGallery);      mGallery->showContextMenu(this, x, y, mUUID);      LLUICtrl::handleRightMouseDown(x, y, mask); | 
