aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llfloaterregioninfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/llfloaterregioninfo.cpp22
1 files changed, 14 insertions, 8 deletions
diff --git a/linden/indra/newview/llfloaterregioninfo.cpp b/linden/indra/newview/llfloaterregioninfo.cpp
index 571bcac..f7c05b5 100644
--- a/linden/indra/newview/llfloaterregioninfo.cpp
+++ b/linden/indra/newview/llfloaterregioninfo.cpp
@@ -1483,13 +1483,15 @@ void LLPanelEstateInfo::onClickAddEstateManager(void* user_data)
1483 LLCtrlListInterface *list = self->childGetListInterface("estate_manager_name_list"); 1483 LLCtrlListInterface *list = self->childGetListInterface("estate_manager_name_list");
1484 if (!list) return; 1484 if (!list) return;
1485 if (list->getItemCount() >= ESTATE_MAX_MANAGERS) 1485 if (list->getItemCount() >= ESTATE_MAX_MANAGERS)
1486 { 1486 { // Tell user they can't add more managers
1487 LLString::format_map_t args; 1487 LLString::format_map_t args;
1488 args["[MAX_MANAGER]"] = llformat("%d",ESTATE_MAX_MANAGERS); 1488 args["[MAX_MANAGER]"] = llformat("%d",ESTATE_MAX_MANAGERS);
1489 gViewerWindow->alertXml("MaxManagersOnRegion", args); 1489 gViewerWindow->alertXml("MaxManagersOnRegion", args);
1490 return;
1491 } 1490 }
1492 accessAddCore(ESTATE_ACCESS_MANAGER_ADD, "EstateManagerAdd"); 1491 else
1492 { // Go pick managers to add
1493 accessAddCore(ESTATE_ACCESS_MANAGER_ADD, "EstateManagerAdd");
1494 }
1493} 1495}
1494 1496
1495// static 1497// static
@@ -1995,7 +1997,7 @@ BOOL LLPanelEstateInfo::postBuild()
1995 if (manager_name_list) 1997 if (manager_name_list)
1996 { 1998 {
1997 manager_name_list->setCommitOnSelectionChange(TRUE); 1999 manager_name_list->setCommitOnSelectionChange(TRUE);
1998 manager_name_list->setMaxItemCount(ESTATE_MAX_MANAGERS); 2000 manager_name_list->setMaxItemCount(ESTATE_MAX_MANAGERS * 4); // Allow extras for dupe issue
1999 } 2001 }
2000 2002
2001 childSetAction("add_estate_manager_btn", onClickAddEstateManager, this); 2003 childSetAction("add_estate_manager_btn", onClickAddEstateManager, this);
@@ -2562,7 +2564,7 @@ void LLPanelEstateCovenant::loadInvItem(LLInventoryItem *itemp)
2562void LLPanelEstateCovenant::onLoadComplete(LLVFS *vfs, 2564void LLPanelEstateCovenant::onLoadComplete(LLVFS *vfs,
2563 const LLUUID& asset_uuid, 2565 const LLUUID& asset_uuid,
2564 LLAssetType::EType type, 2566 LLAssetType::EType type,
2565 void* user_data, S32 status) 2567 void* user_data, S32 status, LLExtStat ext_status)
2566{ 2568{
2567 llinfos << "LLPanelEstateCovenant::onLoadComplete()" << llendl; 2569 llinfos << "LLPanelEstateCovenant::onLoadComplete()" << llendl;
2568 LLPanelEstateCovenant* panelp = (LLPanelEstateCovenant*)user_data; 2570 LLPanelEstateCovenant* panelp = (LLPanelEstateCovenant*)user_data;
@@ -2973,9 +2975,13 @@ bool LLDispatchSetEstateAccess::operator()(
2973 LLNameListCtrl* estate_manager_name_list = 2975 LLNameListCtrl* estate_manager_name_list =
2974 LLViewerUICtrlFactory::getNameListByName(panel, "estate_manager_name_list"); 2976 LLViewerUICtrlFactory::getNameListByName(panel, "estate_manager_name_list");
2975 if (estate_manager_name_list) 2977 if (estate_manager_name_list)
2976 { 2978 {
2977 estate_manager_name_list->deleteAllItems(); 2979 estate_manager_name_list->deleteAllItems(); // Clear existing entries
2978 for (S32 i = 0; i < num_estate_managers && i < ESTATE_MAX_MANAGERS; i++) 2980
2981 // There should be only ESTATE_MAX_MANAGERS people in the list, but if the database gets more (SL-46107) don't
2982 // truncate the list unless it's really big. Go ahead and show the extras so the user doesn't get confused,
2983 // and they can still remove them.
2984 for (S32 i = 0; i < num_estate_managers && i < (ESTATE_MAX_MANAGERS * 4); i++)
2979 { 2985 {
2980 LLUUID id; 2986 LLUUID id;
2981 memcpy(id.mData, strings[index++].data(), UUID_BYTES); /* Flawfinder: ignore */ 2987 memcpy(id.mData, strings[index++].data(), UUID_BYTES); /* Flawfinder: ignore */