diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llpanelmediasettingssecurity.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llvovolume.cpp | 5 | 
2 files changed, 8 insertions, 1 deletions
| diff --git a/indra/newview/llpanelmediasettingssecurity.cpp b/indra/newview/llpanelmediasettingssecurity.cpp index 611293f3e2..bec2494eac 100644 --- a/indra/newview/llpanelmediasettingssecurity.cpp +++ b/indra/newview/llpanelmediasettingssecurity.cpp @@ -215,7 +215,9 @@ void LLPanelMediaSettingsSecurity::getValues( LLSD &fill_me_in )      // iterate over white list and extract items
      std::vector< LLScrollListItem* > white_list_items = mWhiteListList->getAllData();
      std::vector< LLScrollListItem* >::iterator iter = white_list_items.begin();
 -    fill_me_in.erase(LLMediaEntry::WHITELIST_KEY);
 +	// *NOTE: need actually set the key to be an emptyArray(), or the merge
 +	// we do with this LLSD will think there's nothing to change.
 +    fill_me_in[LLMediaEntry::WHITELIST_KEY] = LLSD::emptyArray();
      while( iter != white_list_items.end() )
      {
          std::string white_list_url = (*iter)->getValue().asString();
 diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 021fc74648..3803c65e74 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -108,6 +108,11 @@ public:  				if (te->getMediaData() != NULL)  				{  					result = te->getMediaData()->asLLSD(); +					// XXX HACK: workaround bug in asLLSD() where whitelist is not set properly +					if (!result.has(LLMediaEntry::WHITELIST_KEY)) +					{ +						result[LLMediaEntry::WHITELIST_KEY] = LLSD::emptyArray(); +					}  				}  			}  			return result; | 
