From edda833a3597156038377d8267e8a19de0948499 Mon Sep 17 00:00:00 2001 From: maxim_productengine Date: Mon, 27 Aug 2018 16:53:45 +0300 Subject: MAINT-9039 Don't show environment editor floaters in multi-preview --- indra/newview/llinventoryfunctions.cpp | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'indra/newview/llinventoryfunctions.cpp') diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index 030c967019..b0004c5e58 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::iterator set_iter = selected_items.begin(); set_iter != selected_items.end(); ++set_iter) + { + LLFolderViewItem* folder_item = *set_iter; + if (folder_item) + { + LLInvFVBridge* bridge = (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) -- cgit v1.2.3 From be0c609eaf48fe876b47ac94627c9237c457348a Mon Sep 17 00:00:00 2001 From: maxim_productengine Date: Thu, 2 May 2019 13:11:18 +0300 Subject: SL-11072 FIXED Crash in LLInventoryAction::doToSelected(2406) --- indra/newview/llinventoryfunctions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llinventoryfunctions.cpp') diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index b0004c5e58..646d92b9e1 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -2402,7 +2402,7 @@ void LLInventoryAction::doToSelected(LLInventoryModel* model, LLFolderView* root LLFolderViewItem* folder_item = *set_iter; if (folder_item) { - LLInvFVBridge* bridge = (LLInvFVBridge*)folder_item->getViewModelItem(); + LLInvFVBridge* bridge = dynamic_cast(folder_item->getViewModelItem()); if (!bridge || !bridge->isMultiPreviewAllowed()) { open_multi_preview = false; -- cgit v1.2.3