diff options
author | dolphin <dolphin@lindenlab.com> | 2014-09-05 10:58:39 -0700 |
---|---|---|
committer | dolphin <dolphin@lindenlab.com> | 2014-09-05 10:58:39 -0700 |
commit | e7645eb995c291ebbbd05bab796639306545d2ad (patch) | |
tree | 14994eb1e78034a152a00a7bec243cb3f4e23905 | |
parent | 51e65a4b5254aadb90660a237b47b9f90875d889 (diff) |
Allow non-grid-wide experiences in the parcel block list to block estate allowed
experiences.
-rwxr-xr-x | indra/newview/llfloaterland.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llpanelexperiencepicker.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llpanelexperiencepicker.h | 1 |
3 files changed, 8 insertions, 4 deletions
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index 4fda1ebb7d..bf6bf584d9 100755 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -2958,10 +2958,8 @@ BOOL LLPanelLandExperiences::postBuild() // only non-grid-wide experiences mAllowed->addFilter(boost::bind(LLPanelExperiencePicker::FilterWithProperty, _1, LLExperienceCache::PROPERTY_GRID)); - // only grid-wide experiences - mBlocked->addFilter(boost::bind(LLPanelExperiencePicker::FilterWithoutProperty, _1, LLExperienceCache::PROPERTY_GRID)); - // but not privileged ones - mBlocked->addFilter(boost::bind(LLPanelExperiencePicker::FilterWithProperty, _1, LLExperienceCache::PROPERTY_PRIVILEGED)); + // no privileged ones + mBlocked->addFilter(boost::bind(LLPanelExperiencePicker::FilterWithProperties, _1, LLExperienceCache::PROPERTY_PRIVILEGED|LLExperienceCache::PROPERTY_GRID)); getChild<LLLayoutPanel>("trusted_layout_panel")->setVisible(FALSE); getChild<LLTextBox>("experiences_help_text")->setVisible(FALSE); diff --git a/indra/newview/llpanelexperiencepicker.cpp b/indra/newview/llpanelexperiencepicker.cpp index b804899e63..e3fe3c3332 100644 --- a/indra/newview/llpanelexperiencepicker.cpp +++ b/indra/newview/llpanelexperiencepicker.cpp @@ -407,6 +407,11 @@ bool LLPanelExperiencePicker::FilterWithProperty( const LLSD& experience, S32 pr return (experience[LLExperienceCache::PROPERTIES].asInteger() & prop) != 0; } +bool LLPanelExperiencePicker::FilterWithProperties( const LLSD& experience, S32 prop) +{ + return ! ((experience[LLExperienceCache::PROPERTIES].asInteger() & prop) == prop); +} + bool LLPanelExperiencePicker::FilterWithoutProperty( const LLSD& experience, S32 prop ) { return (experience[LLExperienceCache::PROPERTIES].asInteger() & prop) == 0; diff --git a/indra/newview/llpanelexperiencepicker.h b/indra/newview/llpanelexperiencepicker.h index b2ba7f26ee..2a0731f34c 100644 --- a/indra/newview/llpanelexperiencepicker.h +++ b/indra/newview/llpanelexperiencepicker.h @@ -55,6 +55,7 @@ public: void setDefaultFilters(); static bool FilterWithProperty(const LLSD& experience, S32 prop); + static bool FilterWithProperties(const LLSD& experience, S32 prop); static bool FilterWithoutProperty(const LLSD& experience, S32 prop); static bool FilterMatching(const LLSD& experience, const LLUUID& id); bool FilterOverRating(const LLSD& experience); |