summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave SIMmONs <simon@lindenlab.com>2011-05-24 10:44:27 -0700
committerDave SIMmONs <simon@lindenlab.com>2011-05-24 10:44:27 -0700
commit1a5b3b0a9091a72fd5e5fb395f7f0c97b0fd502c (patch)
treef1025d69463201fdd23d46fb490fc93d29837803
parenteaf293f62f06e37f914efaf1cd33ab63648699d4 (diff)
ER-914: Disable Parcel Privacy UI in viewer if on older sim
-rw-r--r--indra/llinventory/llparcel.cpp4
-rw-r--r--indra/llinventory/llparcel.h4
-rw-r--r--indra/newview/llfloaterland.cpp2
3 files changed, 8 insertions, 2 deletions
diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp
index 7562bb8320..6236c0df6b 100644
--- a/indra/llinventory/llparcel.cpp
+++ b/indra/llinventory/llparcel.cpp
@@ -226,6 +226,9 @@ void LLParcel::init(const LLUUID &owner_id,
setPreviousOwnerID(LLUUID::null);
setPreviouslyGroupOwned(FALSE);
+
+ setPrivacy(false);
+ setHavePrivacyData(false);
}
void LLParcel::overrideOwner(const LLUUID& owner_id, BOOL is_group_owned)
@@ -728,6 +731,7 @@ void LLParcel::unpackMessage(LLMessageSystem* msg)
msg->getBOOLFast(_PREHASH_ParcelData, _PREHASH_Privacy, private_parcel);
}
setPrivacy((bool) private_parcel);
+ setHavePrivacyData(have_privacy_data);
// non-optimized version
msg->getU8 ( "ParcelData", "MediaAutoScale", mMediaAutoScale );
diff --git a/indra/llinventory/llparcel.h b/indra/llinventory/llparcel.h
index 4d2236ec66..1b2f372888 100644
--- a/indra/llinventory/llparcel.h
+++ b/indra/llinventory/llparcel.h
@@ -272,6 +272,7 @@ public:
void setUserLookAt(const LLVector3& rot) { mUserLookAt = rot; }
void setLandingType(const ELandingType type) { mLandingType = type; }
void setPrivacy(bool privacy) { mPrivacy = privacy; }
+ void setHavePrivacyData(bool have_privacy_data) { mHavePrivacyData = have_privacy_data; } // Remove this once parcel privacy is fully available grid-wide
void setAuctionID(U32 auction_id) { mAuctionID = auction_id;}
@@ -375,7 +376,7 @@ public:
const LLVector3& getUserLookAt() const { return mUserLookAt; }
ELandingType getLandingType() const { return mLandingType; }
bool getPrivacy() const { return mPrivacy; }
-
+ bool getHavePrivacyData() const { return mHavePrivacyData; }
// User-specified snapshot
const LLUUID& getSnapshotID() const { return mSnapshotID; }
@@ -612,6 +613,7 @@ protected:
LLVector3 mUserLookAt;
ELandingType mLandingType;
bool mPrivacy;
+ bool mHavePrivacyData; // Remove once parcel privacy is grid-wide
LLTimer mSaleTimerExpires;
LLTimer mMediaResetTimer;
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp
index d9d2c3d5a6..8de93a385f 100644
--- a/indra/newview/llfloaterland.cpp
+++ b/indra/newview/llfloaterland.cpp
@@ -2036,7 +2036,7 @@ void LLPanelLandOptions::refresh()
mPrivateParcelCtrl->set(parcel->getPrivacy());
mPrivateParcelCtrl->setLabel(getString("private_parcel_text"));
- mPrivateParcelCtrl->setEnabled(can_change_options);
+ mPrivateParcelCtrl->setEnabled(can_change_options && parcel->getHavePrivacyData());
BOOL can_change_landing_point = LLViewerParcelMgr::isParcelModifiableByAgent(parcel,
GP_LAND_SET_LANDING_POINT);