diff options
Diffstat (limited to 'indra')
-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); |