diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp index eb9d103524..171dd13466 100644 --- a/indra/newview/llinventoryfilter.cpp +++ b/indra/newview/llinventoryfilter.cpp @@ -1083,17 +1083,22 @@ void LLInventoryFilter::setFilterWorn(BOOL worn) // // FIRE-19340: search inventory by transferable permission -void LLInventoryFilter::setFilterTransferable(BOOL transferable) -{ - setModified(); - if (transferable) - { - mFilterOps.mFilterTypes |= FILTERTYPE_TRANSFERABLE; - } - else - { - mFilterOps.mFilterTypes &= ~FILTERTYPE_TRANSFERABLE; - } +void LLInventoryFilter::setFilterTransferable(BOOL transferable) +{ + BOOL current = (mFilterOps.mFilterTypes & FILTERTYPE_TRANSFERABLE) != 0; + + if (current != transferable) + { + setModified(); + if (transferable) + { + mFilterOps.mFilterTypes |= FILTERTYPE_TRANSFERABLE; + } + else + { + mFilterOps.mFilterTypes &= ~FILTERTYPE_TRANSFERABLE; + } + } } //