diff options
author | Monroe Linden <monroe@lindenlab.com> | 2009-11-10 18:47:03 -0800 |
---|---|---|
committer | Monroe Linden <monroe@lindenlab.com> | 2009-11-10 18:47:03 -0800 |
commit | 8ec85a68acee6b600320b10eea2b9aa11e434e83 (patch) | |
tree | a662a2c5f56a6a22b6298516c5839734d6e7e672 | |
parent | 98ca90bed46591573f5072121a774d19cc69381f (diff) |
Fix for DEV-42328 (Muting then Unmuting All Nearby Media resets nearby media to Home URL).
Fixed by having LLViewerMedia::updateMediaImpl() copy the media entry's current URL into the media impl's mMediaURL in the case where the impl has a non-empty media URL but the function doesn't do a navigate.
-rw-r--r-- | indra/newview/llviewermedia.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 605861f1cb..493457704b 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -295,11 +295,21 @@ viewer_media_t LLViewerMedia::updateMediaImpl(LLMediaEntry* media_entry, const s } } - if(media_impl && needs_navigate) + if(media_impl) { std::string url = media_entry->getCurrentURL(); - - media_impl->navigateTo(url, "", true, true); + if(needs_navigate) + { + media_impl->navigateTo(url, "", true, true); + } + else if(!media_impl->mMediaURL.empty() && (media_impl->mMediaURL != url)) + { + // If we already have a non-empty media URL set and we aren't doing a navigate, update the media URL to match the media entry. + media_impl->mMediaURL = url; + + // If this causes a navigate at some point (such as after a reload), it should be considered server-driven so it isn't broadcast. + media_impl->mNavigateServerRequest = true; + } } return media_impl; |