aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLImageManager.cs
diff options
context:
space:
mode:
authorJustin Clarke Casey2009-02-13 17:02:26 +0000
committerJustin Clarke Casey2009-02-13 17:02:26 +0000
commit42bd38960c6743bb3c1d57d951d9f68578575c27 (patch)
treef3c1cb36923482718a0ff1e6e823a7a413f5a79f /OpenSim/Region/ClientStack/LindenUDP/LLImageManager.cs
parent* refactor: Move export map function to world map module from scene (diff)
downloadopensim-SC-42bd38960c6743bb3c1d57d951d9f68578575c27.zip
opensim-SC-42bd38960c6743bb3c1d57d951d9f68578575c27.tar.gz
opensim-SC-42bd38960c6743bb3c1d57d951d9f68578575c27.tar.bz2
opensim-SC-42bd38960c6743bb3c1d57d951d9f68578575c27.tar.xz
* Apply http://opensimulator.org/mantis/view.php?id=3149
* If the texture does not contain any discard levels the last image packet was not sent * Thanks Snowdrop
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLImageManager.cs16
1 files changed, 2 insertions, 14 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLImageManager.cs b/OpenSim/Region/ClientStack/LindenUDP/LLImageManager.cs
index 75b5644..6efe3e1 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLImageManager.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLImageManager.cs
@@ -104,7 +104,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
104 pq[PQHandles[req.RequestedAssetID]].data.Update(req.DiscardLevel, (int)req.PacketNumber); 104 pq[PQHandles[req.RequestedAssetID]].data.Update(req.DiscardLevel, (int)req.PacketNumber);
105 } 105 }
106 106
107
108 /// <summary> 107 /// <summary>
109 /// Callback for the asset system 108 /// Callback for the asset system
110 /// </summary> 109 /// </summary>
@@ -128,14 +127,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
128 } 127 }
129 //else 128 //else
130 129
131
132 pq[PQHandles[assetID]].data.asset = asset; 130 pq[PQHandles[assetID]].data.asset = asset;
133 131
134 //lock (pq[PQHandles[assetID]].data) 132 //lock (pq[PQHandles[assetID]].data)
135 pq[PQHandles[assetID]].data.Update((int)pq[PQHandles[assetID]].data.Priority, pq[PQHandles[assetID]].data.CurrentPacket); 133 pq[PQHandles[assetID]].data.Update((int)pq[PQHandles[assetID]].data.Priority, pq[PQHandles[assetID]].data.CurrentPacket);
136
137
138
139 } 134 }
140 135
141 /// <summary> 136 /// <summary>
@@ -147,11 +142,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
147 if (m_shuttingdown) 142 if (m_shuttingdown)
148 return; 143 return;
149 144
150
151 IPriorityQueueHandle<Prio<J2KImage>> h = null; 145 IPriorityQueueHandle<Prio<J2KImage>> h = null;
152 for (int j = 0; j < count; j++) 146 for (int j = 0; j < count; j++)
153 { 147 {
154
155 lock (pq) 148 lock (pq)
156 { 149 {
157 if (!pq.IsEmpty) 150 if (!pq.IsEmpty)
@@ -221,9 +214,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
221 // no module, no layers, full resolution only 214 // no module, no layers, full resolution only
222 j2kDecodedCallback(process.data.AssetId, new OpenJPEG.J2KLayerInfo[0]); 215 j2kDecodedCallback(process.data.AssetId, new OpenJPEG.J2KLayerInfo[0]);
223 } 216 }
224
225
226
227 } // Are we waiting? 217 } // Are we waiting?
228 else if (!process.data.J2KDecodeWaiting) 218 else if (!process.data.J2KDecodeWaiting)
229 { 219 {
@@ -357,12 +347,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
357 } 347 }
358 } 348 }
359 349
360
361 lock (PQHandles) 350 lock (PQHandles)
362 PQHandles.Clear(); 351 PQHandles.Clear();
363 m_client = null; 352 m_client = null;
364 } 353 }
365
366 } 354 }
367 355
368 /// <summary> 356 /// <summary>
@@ -525,7 +513,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
525 { 513 {
526 // No layers, send full image 514 // No layers, send full image
527 DiscardLevel = 0; 515 DiscardLevel = 0;
528 StopPacket = TexturePacketCount() - 1; 516 StopPacket = TexturePacketCount();
529 CurrentPacket = Util.Clamp<int>(packet, 1, TexturePacketCount() - 1); 517 CurrentPacket = Util.Clamp<int>(packet, 1, TexturePacketCount() - 1);
530 } 518 }
531 } 519 }
@@ -604,7 +592,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
604 catch (Exception e) 592 catch (Exception e)
605 { 593 {
606 Console.WriteLine(String.Format("Err: srcLen:{0}, BytePos:{1}, desLen:{2}, pktsize:{3}, currpak:{4}, stoppak:{5}, totalpak:{6}", m_asset_ref.Data.Length, CurrentBytePosition(), 594 Console.WriteLine(String.Format("Err: srcLen:{0}, BytePos:{1}, desLen:{2}, pktsize:{3}, currpak:{4}, stoppak:{5}, totalpak:{6}", m_asset_ref.Data.Length, CurrentBytePosition(),
607 imageData.Length, imagePacketSize, CurrentPacket,StopPacket,TexturePacketCount())); 595 imageData.Length, imagePacketSize, CurrentPacket, StopPacket, TexturePacketCount()));
608 Console.WriteLine(e.ToString()); 596 Console.WriteLine(e.ToString());
609 //m_log.Error("Texture data copy failed for " + m_asset_ref.FullID.ToString()); 597 //m_log.Error("Texture data copy failed for " + m_asset_ref.FullID.ToString());
610 //m_cancel = true; 598 //m_cancel = true;