start adding user ids to the media urls
parent
2c3207df07
commit
8e67f6dc44
|
@ -189,7 +189,7 @@ namespace OpenSim.Region.CoreModules.Media.Moap
|
||||||
part.Shape.Media = new List<MediaEntry>(new MediaEntry[part.GetNumberOfSides()]);
|
part.Shape.Media = new List<MediaEntry>(new MediaEntry[part.GetNumberOfSides()]);
|
||||||
|
|
||||||
part.Shape.Media[face] = me;
|
part.Shape.Media[face] = me;
|
||||||
UpdateMediaUrl(part);
|
UpdateMediaUrl(part, UUID.Zero);
|
||||||
part.ScheduleFullUpdate();
|
part.ScheduleFullUpdate();
|
||||||
part.TriggerScriptChangedEvent(Changed.MEDIA);
|
part.TriggerScriptChangedEvent(Changed.MEDIA);
|
||||||
}
|
}
|
||||||
|
@ -300,6 +300,11 @@ namespace OpenSim.Region.CoreModules.Media.Moap
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UUID agentId = default(UUID);
|
||||||
|
|
||||||
|
lock (m_omCapUsers)
|
||||||
|
agentId = m_omCapUsers[path];
|
||||||
|
|
||||||
List<MediaEntry> media = part.Shape.Media;
|
List<MediaEntry> media = part.Shape.Media;
|
||||||
|
|
||||||
if (null == media)
|
if (null == media)
|
||||||
|
@ -311,11 +316,6 @@ namespace OpenSim.Region.CoreModules.Media.Moap
|
||||||
{
|
{
|
||||||
// We need to go through the media textures one at a time to make sure that we have permission
|
// We need to go through the media textures one at a time to make sure that we have permission
|
||||||
// to change them
|
// to change them
|
||||||
UUID agentId = default(UUID);
|
|
||||||
|
|
||||||
lock (m_omCapUsers)
|
|
||||||
agentId = m_omCapUsers[path];
|
|
||||||
|
|
||||||
for (int i = 0; i < media.Count; i++)
|
for (int i = 0; i < media.Count; i++)
|
||||||
{
|
{
|
||||||
if (m_scene.Permissions.CanControlPrimMedia(agentId, part.UUID, i))
|
if (m_scene.Permissions.CanControlPrimMedia(agentId, part.UUID, i))
|
||||||
|
@ -326,7 +326,7 @@ namespace OpenSim.Region.CoreModules.Media.Moap
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateMediaUrl(part);
|
UpdateMediaUrl(part, agentId);
|
||||||
|
|
||||||
// Arguably, we could avoid sending a full update to the avatar that just changed the texture.
|
// Arguably, we could avoid sending a full update to the avatar that just changed the texture.
|
||||||
part.ScheduleFullUpdate();
|
part.ScheduleFullUpdate();
|
||||||
|
@ -402,13 +402,13 @@ namespace OpenSim.Region.CoreModules.Media.Moap
|
||||||
|
|
||||||
me.CurrentURL = omn.URL;
|
me.CurrentURL = omn.URL;
|
||||||
|
|
||||||
UpdateMediaUrl(part);
|
UpdateMediaUrl(part, agentId);
|
||||||
|
|
||||||
part.ScheduleFullUpdate();
|
part.ScheduleFullUpdate();
|
||||||
|
|
||||||
part.TriggerScriptChangedEvent(Changed.MEDIA);
|
part.TriggerScriptChangedEvent(Changed.MEDIA);
|
||||||
|
|
||||||
return string.Empty;
|
return OSDParser.SerializeLLSDXmlString(new OSD());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -431,12 +431,16 @@ namespace OpenSim.Region.CoreModules.Media.Moap
|
||||||
/// Update the media url of the given part
|
/// Update the media url of the given part
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="part"></param>
|
/// <param name="part"></param>
|
||||||
protected void UpdateMediaUrl(SceneObjectPart part)
|
/// <param name="updateId">
|
||||||
|
/// The id to attach to this update. Normally, this is the user that changed the
|
||||||
|
/// texture
|
||||||
|
/// </param>
|
||||||
|
protected void UpdateMediaUrl(SceneObjectPart part, UUID updateId)
|
||||||
{
|
{
|
||||||
if (null == part.MediaUrl)
|
if (null == part.MediaUrl)
|
||||||
{
|
{
|
||||||
// TODO: We can't set the last changer until we start tracking which cap we give to which agent id
|
// TODO: We can't set the last changer until we start tracking which cap we give to which agent id
|
||||||
part.MediaUrl = "x-mv:0000000000/" + UUID.Zero;
|
part.MediaUrl = "x-mv:0000000000/" + updateId;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue