summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMonroe Linden <monroe@lindenlab.com>2009-11-10 18:47:03 -0800
committerMonroe Linden <monroe@lindenlab.com>2009-11-10 18:47:03 -0800
commit8ec85a68acee6b600320b10eea2b9aa11e434e83 (patch)
treea662a2c5f56a6a22b6298516c5839734d6e7e672
parent98ca90bed46591573f5072121a774d19cc69381f (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.cpp16
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;