aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden
diff options
context:
space:
mode:
authorUbitUmarov2019-01-01 12:06:29 +0000
committerUbitUmarov2019-01-01 12:06:29 +0000
commit02492f7b15f29419c1ea4725a6ae6959bc199912 (patch)
tree2967fed8eba4d3b801a763ddeb50804226c446cb /OpenSim/Region/ClientStack/Linden
parenttemporary HACK to not kill some viewers (diff)
downloadopensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.zip
opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.tar.gz
opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.tar.bz2
opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.tar.xz
replace my hack by others hack
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs7
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs6
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs30
3 files changed, 19 insertions, 24 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
index f54c5f5..92f5a2c 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
@@ -374,7 +374,12 @@ namespace OpenSim.Region.ClientStack.Linden
374 List<string> validCaps = new List<string>(); 374 List<string> validCaps = new List<string>();
375 375
376 foreach (OSD c in capsRequested) 376 foreach (OSD c in capsRequested)
377 validCaps.Add(c.AsString()); 377 {
378 string cstr = c.AsString();
379 if(cstr == "ObjectAnimation")
380 m_HostCapsObj.Flags |= Caps.CapsFlags.ObjectAnim;
381 validCaps.Add(cstr);
382 }
378 383
379 string result = LLSDHelpers.SerialiseLLSDReply(m_HostCapsObj.GetCapsDetails(true, validCaps)); 384 string result = LLSDHelpers.SerialiseLLSDReply(m_HostCapsObj.GetCapsDetails(true, validCaps));
380 385
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 7866997..34e3a43 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -351,7 +351,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
351#pragma warning restore 0414 351#pragma warning restore 0414
352 private const uint MaxTransferBytesPerPacket = 600; 352 private const uint MaxTransferBytesPerPacket = 600;
353 353
354 public bool DoObjectAnimations { get; set; } 354 public bool SupportObjectAnimations { get; set; }
355 355
356 /// <value> 356 /// <value>
357 /// Maintain a record of all the objects killed. This allows us to stop an update being sent from the 357 /// Maintain a record of all the objects killed. This allows us to stop an update being sent from the
@@ -3917,7 +3917,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3917 public void SendObjectAnimations(UUID[] animations, int[] seqs, UUID senderId) 3917 public void SendObjectAnimations(UUID[] animations, int[] seqs, UUID senderId)
3918 { 3918 {
3919 // m_log.DebugFormat("[LLCLIENTVIEW]: Sending Object animations for {0} to {1}", sourceAgentId, Name); 3919 // m_log.DebugFormat("[LLCLIENTVIEW]: Sending Object animations for {0} to {1}", sourceAgentId, Name);
3920 if(!DoObjectAnimations) 3920 if(!SupportObjectAnimations)
3921 return; 3921 return;
3922 3922
3923 ObjectAnimationPacket ani = (ObjectAnimationPacket)PacketPool.Instance.GetPacket(PacketType.ObjectAnimation); 3923 ObjectAnimationPacket ani = (ObjectAnimationPacket)PacketPool.Instance.GetPacket(PacketType.ObjectAnimation);
@@ -4330,7 +4330,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4330 4330
4331 if (update.Entity is SceneObjectPart) 4331 if (update.Entity is SceneObjectPart)
4332 { 4332 {
4333 if (DoObjectAnimations && updateFlags.HasFlag(PrimUpdateFlags.Animations)) 4333 if (SupportObjectAnimations && updateFlags.HasFlag(PrimUpdateFlags.Animations))
4334 { 4334 {
4335 SceneObjectPart sop = (SceneObjectPart)update.Entity; 4335 SceneObjectPart sop = (SceneObjectPart)update.Entity;
4336 if ( sop.Animations != null) 4336 if ( sop.Animations != null)
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index afa1e4c..667acf9 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -1919,38 +1919,28 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1919 uint circuitCode, UUID agentID, UUID sessionID, IPEndPoint remoteEndPoint, AuthenticateResponse sessionInfo) 1919 uint circuitCode, UUID agentID, UUID sessionID, IPEndPoint remoteEndPoint, AuthenticateResponse sessionInfo)
1920 { 1920 {
1921 IClientAPI client = null; 1921 IClientAPI client = null;
1922 bool createNew = false;
1923 1922
1924 // We currently synchronize this code across the whole scene to avoid issues such as 1923 // We currently synchronize this code across the whole scene to avoid issues such as
1925 // http://opensimulator.org/mantis/view.php?id=5365 However, once locking per agent circuit can be done 1924 // http://opensimulator.org/mantis/view.php?id=5365 However, once locking per agent circuit can be done
1926 // consistently, this lock could probably be removed. 1925 // consistently, this lock could probably be removed.
1927 lock (this) 1926 lock (this)
1928 { 1927 {
1929 if (!Scene.TryGetClient(agentID, out client)) 1928 if (Scene.TryGetClient(agentID, out client))
1930 { 1929 {
1931 createNew = true; 1930 if (client.SceneAgent != null)
1932 } 1931 return client;
1933 else 1932 Scene.CloseAgent(agentID, true);
1934 {
1935 if (client.SceneAgent == null)
1936 {
1937 Scene.CloseAgent(agentID, true);
1938 createNew = true;
1939 }
1940 } 1933 }
1941 1934
1942 if (createNew) 1935 LLUDPClient udpClient = new LLUDPClient(this, ThrottleRates, Throttle, circuitCode, agentID, remoteEndPoint, m_defaultRTO, m_maxRTO);
1943 {
1944 LLUDPClient udpClient = new LLUDPClient(this, ThrottleRates, Throttle, circuitCode, agentID, remoteEndPoint, m_defaultRTO, m_maxRTO);
1945 1936
1946 client = new LLClientView(Scene, this, udpClient, sessionInfo, agentID, sessionID, circuitCode); 1937 client = new LLClientView(Scene, this, udpClient, sessionInfo, agentID, sessionID, circuitCode);
1947 client.OnLogout += LogoutHandler; 1938 client.OnLogout += LogoutHandler;
1948 client.DebugPacketLevel = DefaultClientPacketDebugLevel; 1939 client.DebugPacketLevel = DefaultClientPacketDebugLevel;
1949 1940
1950 ((LLClientView)client).DisableFacelights = m_disableFacelights; 1941 ((LLClientView)client).DisableFacelights = m_disableFacelights;
1951 1942
1952 client.Start(); 1943 client.Start();
1953 }
1954 } 1944 }
1955 1945
1956 return client; 1946 return client;