diff options
author | Dave SIMmONs <simon@lindenlab.com> | 2011-05-24 10:44:27 -0700 |
---|---|---|
committer | Dave SIMmONs <simon@lindenlab.com> | 2011-05-24 10:44:27 -0700 |
commit | 1a5b3b0a9091a72fd5e5fb395f7f0c97b0fd502c (patch) | |
tree | f1025d69463201fdd23d46fb490fc93d29837803 | |
parent | eaf293f62f06e37f914efaf1cd33ab63648699d4 (diff) |
ER-914: Disable Parcel Privacy UI in viewer if on older sim
-rw-r--r-- | indra/llinventory/llparcel.cpp | 4 | ||||
-rw-r--r-- | indra/llinventory/llparcel.h | 4 | ||||
-rw-r--r-- | indra/newview/llfloaterland.cpp | 2 |
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); |