diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-12-13 23:22:22 +0200 | 
|---|---|---|
| committer | akleshchev <117672381+akleshchev@users.noreply.github.com> | 2023-12-14 14:21:40 +0200 | 
| commit | 009cd9adccd117357fa4054c523218a0e990bb80 (patch) | |
| tree | 24cd51c02bc4b1ac1ae117490551585172d9f770 /indra/newview | |
| parent | 5abcec163c46c2bcb06ba9703c717f0e037f087e (diff) | |
SL-20729 Crash in getObject
in "new_folder_from_selected" at gInventory.getObject(*ids.begin());
according to bugsplat argument id was a null pointer so I assume there
was an issue geting id out of the list.
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llinventoryfunctions.cpp | 17 | 
1 files changed, 17 insertions, 0 deletions
| diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index 4aeacae6ed..6ac8bbee76 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -2949,6 +2949,23 @@ bool get_selection_object_uuids(LLFolderView *root, uuid_vec_t& ids)  void LLInventoryAction::doToSelected(LLInventoryModel* model, LLFolderView* root, const std::string& action, BOOL user_confirm)  {  	std::set<LLFolderViewItem*> selected_items = root->getSelectionList(); +    if (selected_items.empty() +        && action != "wear" +        && action != "wear_add" +        && !isRemoveAction(action)) +    { +        // Was item removed while user was checking menu? +        // "wear" and removal exlusions are due to use of +        // getInventorySelectedUUIDs() below +        LL_WARNS("Inventory") << "Menu tried to operate on empty selection" << LL_ENDL; + +        if (("copy" == action) || ("cut" == action)) +        { +            LLClipboard::instance().reset(); +        } + +        return; +    }      // Prompt the user and check for authorization for some marketplace active listing edits  	if (user_confirm && (("delete" == action) || ("cut" == action) || ("rename" == action) || ("properties" == action) || ("task_properties" == action) || ("open" == action))) | 
