diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llfloaterregioninfo.cpp | 22 |
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) | |||
2562 | void LLPanelEstateCovenant::onLoadComplete(LLVFS *vfs, | 2564 | void 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 */ |