summaryrefslogtreecommitdiff
path: root/indra/newview/llinventoryfunctions.cpp
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2020-04-20 21:23:34 +0300
committerAndrey Lihatskiy <alihatskiy@productengine.com>2020-04-20 21:23:34 +0300
commitc757c29c95f60b174903ced0a9ef9ea352d3bb2f (patch)
treeda3dfe45c4bc1726d894565a2eaaf95baa7e7e1c /indra/newview/llinventoryfunctions.cpp
parent72aad484276aeec5446618aeb5f63c64d9f924a5 (diff)
parentd7f1c88c35849e56f5b352f13c16a08467d1533b (diff)
Merge branch 'master' into DRTVWR-500
# Conflicts: # indra/newview/pipeline.cpp
Diffstat (limited to 'indra/newview/llinventoryfunctions.cpp')
-rw-r--r--indra/newview/llinventoryfunctions.cpp25
1 files changed, 22 insertions, 3 deletions
diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp
index 030c967019..646d92b9e1 100644
--- a/indra/newview/llinventoryfunctions.cpp
+++ b/indra/newview/llinventoryfunctions.cpp
@@ -2395,10 +2395,29 @@ void LLInventoryAction::doToSelected(LLInventoryModel* model, LLFolderView* root
if (("task_open" == action || "open" == action) && selected_items.size() > 1)
{
- multi_previewp = new LLMultiPreview();
- gFloaterView->addChild(multi_previewp);
+ bool open_multi_preview = true;
- LLFloater::setFloaterHost(multi_previewp);
+ for (std::set<LLFolderViewItem*>::iterator set_iter = selected_items.begin(); set_iter != selected_items.end(); ++set_iter)
+ {
+ LLFolderViewItem* folder_item = *set_iter;
+ if (folder_item)
+ {
+ LLInvFVBridge* bridge = dynamic_cast<LLInvFVBridge*>(folder_item->getViewModelItem());
+ if (!bridge || !bridge->isMultiPreviewAllowed())
+ {
+ open_multi_preview = false;
+ break;
+ }
+ }
+ }
+
+ if (open_multi_preview)
+ {
+ multi_previewp = new LLMultiPreview();
+ gFloaterView->addChild(multi_previewp);
+
+ LLFloater::setFloaterHost(multi_previewp);
+ }
}
else if (("task_properties" == action || "properties" == action) && selected_items.size() > 1)