diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-07-10 20:48:43 +0300 | 
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-07-15 13:55:32 +0300 | 
| commit | 54383cac8fa8a40d96590a300d4fce618f7413f3 (patch) | |
| tree | 25e5d5b28bcc914a779292f33a2070593f5c247f /indra/llui | |
| parent | 0fbe4cf62a236ea24f383818bf81b933f87380d8 (diff) | |
SL-5894 #3 WIP enumerate devices to flaoter, let floater set device
temp
Diffstat (limited to 'indra/llui')
| -rw-r--r-- | indra/llui/llscrolllistctrl.cpp | 40 | 
1 files changed, 28 insertions, 12 deletions
| diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp index 763c3aeb81..8570dcf318 100644 --- a/indra/llui/llscrolllistctrl.cpp +++ b/indra/llui/llscrolllistctrl.cpp @@ -1380,18 +1380,34 @@ BOOL LLScrollListCtrl::setSelectedByValue(const LLSD& value, BOOL selected)  	for (iter = mItemList.begin(); iter != mItemList.end(); iter++)  	{  		LLScrollListItem* item = *iter; -		if (item->getEnabled() && (item->getValue().asString() == value.asString())) -		{ -			if (selected) -			{ -				selectItem(item); -			} -			else -			{ -				deselectItem(item); -			} -			found = TRUE; -			break; +		if (item->getEnabled()) +		{ +            if (value.isBinary()) +            { +                if (item->getValue().isBinary()) +                { +                    LLSD::Binary data1 = value.asBinary(); +                    LLSD::Binary data2 = item->getValue().asBinary(); +                    found = std::equal(data1.begin(), data1.end(), data2.begin()) ? TRUE : FALSE; +                } +            } +            else +            { +                found = item->getValue().asString() == value.asString() ? TRUE : FALSE; +            } + +            if (found) +            { +                if (selected) +                { +                    selectItem(item); +                } +                else +                { +                    deselectItem(item); +                } +                break; +            }  		}  	} | 
