diff options
author | Cho <cho@lindenlab.com> | 2014-06-25 22:11:31 +0100 |
---|---|---|
committer | Cho <cho@lindenlab.com> | 2014-06-25 22:11:31 +0100 |
commit | 9b6598388a5fa085d89b77b57f0b361d53a680cb (patch) | |
tree | 04732129a744529711839245b0cd8650da9168a9 | |
parent | 200788c344f5449f99eacc9167ac15c7e6262b69 (diff) |
Disable About Land Experiences tab when parcel is not selected, for ACME-1528
-rwxr-xr-x | indra/newview/llfloaterland.cpp | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index 8d2d29ace1..4fda1ebb7d 100755 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -3012,21 +3012,31 @@ void LLPanelLandExperiences::refreshPanel(LLPanelExperienceListEditor* panel, U3 LLParcel *parcel = mParcel->getParcel(); // Display options - if (parcel == NULL || panel == NULL) + if (panel == NULL) { return; } - - LLAccessEntry::map entries = parcel->getExperienceKeysByType(xp_type); - LLAccessEntry::map::iterator it = entries.begin(); - LLSD ids = LLSD::emptyArray(); - for (/**/; it != entries.end(); ++it) + if (parcel == NULL) + { + // disable the panel + panel->setEnabled(FALSE); + panel->setExperienceIds(LLSD::emptyArray()); + } + else { - ids.append(it->second.mID); + // enable the panel + panel->setEnabled(TRUE); + LLAccessEntry::map entries = parcel->getExperienceKeysByType(xp_type); + LLAccessEntry::map::iterator it = entries.begin(); + LLSD ids = LLSD::emptyArray(); + for (/**/; it != entries.end(); ++it) + { + ids.append(it->second.mID); + } + panel->setExperienceIds(ids); + panel->setReadonly(!LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_OPTIONS)); + panel->refreshExperienceCounter(); } - panel->setExperienceIds(ids); - panel->setReadonly(!LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_OPTIONS)); - panel->refreshExperienceCounter(); } void LLPanelLandExperiences::refresh() |