aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs10
-rw-r--r--OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs31
-rw-r--r--OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs30
-rw-r--r--OpenSim/Tests/Common/Helpers/SceneHelpers.cs10
4 files changed, 44 insertions, 37 deletions
diff --git a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs
index 9d90517..9d77b19 100644
--- a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs
+++ b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs
@@ -83,6 +83,16 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
83 /// </remarks> 83 /// </remarks>
84 private Cache m_reuseableDynamicTextures; 84 private Cache m_reuseableDynamicTextures;
85 85
86 /// <summary>
87 /// This constructor is only here because of the Unit Tests...
88 /// Don't use it.
89 /// </summary>
90 public DynamicTextureModule()
91 {
92 m_reuseableDynamicTextures = new Cache(CacheMedium.Memory, CacheStrategy.Conservative);
93 m_reuseableDynamicTextures.DefaultTTL = new TimeSpan(24, 0, 0);
94 }
95
86 #region IDynamicTextureManager Members 96 #region IDynamicTextureManager Members
87 97
88 public void RegisterRender(string handleType, IDynamicTextureRender render) 98 public void RegisterRender(string handleType, IDynamicTextureRender render)
diff --git a/OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs b/OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs
index a08a183..65737fa 100644
--- a/OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs
+++ b/OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs
@@ -49,21 +49,6 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL
49 private string m_name = "LoadImageURL"; 49 private string m_name = "LoadImageURL";
50 private Scene m_scene; 50 private Scene m_scene;
51 private IDynamicTextureManager m_textureManager; 51 private IDynamicTextureManager m_textureManager;
52 private IDynamicTextureManager TextureManager
53 {
54 get
55 {
56 if (m_textureManager == null && m_scene != null)
57 {
58 m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>();
59 if (m_textureManager != null)
60 {
61 m_textureManager.RegisterRender(GetContentType(), this);
62 }
63 }
64 return m_textureManager;
65 }
66 }
67 52
68 private string m_proxyurl = ""; 53 private string m_proxyurl = "";
69 private string m_proxyexcepts = ""; 54 private string m_proxyexcepts = "";
@@ -146,6 +131,14 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL
146 131
147 public void RegionLoaded(Scene scene) 132 public void RegionLoaded(Scene scene)
148 { 133 {
134 if (m_textureManager == null && m_scene == scene)
135 {
136 m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>();
137 if (m_textureManager != null)
138 {
139 m_textureManager.RegisterRender(GetContentType(), this);
140 }
141 }
149 } 142 }
150 143
151 public void Close() 144 public void Close()
@@ -191,6 +184,12 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL
191 184
192 private void HttpRequestReturn(IAsyncResult result) 185 private void HttpRequestReturn(IAsyncResult result)
193 { 186 {
187 if (m_textureManager == null)
188 {
189 m_log.WarnFormat("[LOADIMAGEURLMODULE]: No texture manager. Can't function.");
190 return;
191 }
192
194 RequestState state = (RequestState) result.AsyncState; 193 RequestState state = (RequestState) result.AsyncState;
195 WebRequest request = (WebRequest) state.Request; 194 WebRequest request = (WebRequest) state.Request;
196 Stream stream = null; 195 Stream stream = null;
@@ -271,7 +270,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL
271 m_log.DebugFormat("[LOADIMAGEURLMODULE]: Returning {0} bytes of image data for request {1}", 270 m_log.DebugFormat("[LOADIMAGEURLMODULE]: Returning {0} bytes of image data for request {1}",
272 imageJ2000.Length, state.RequestID); 271 imageJ2000.Length, state.RequestID);
273 272
274 TextureManager.ReturnData( 273 m_textureManager.ReturnData(
275 state.RequestID, 274 state.RequestID,
276 new OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTexture( 275 new OpenSim.Region.CoreModules.Scripting.DynamicTexture.DynamicTexture(
277 request.RequestUri, null, imageJ2000, newSize, false)); 276 request.RequestUri, null, imageJ2000, newSize, false));
diff --git a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs
index efa99e9..689e8a7 100644
--- a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs
+++ b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs
@@ -58,21 +58,6 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
58 58
59 private Scene m_scene; 59 private Scene m_scene;
60 private IDynamicTextureManager m_textureManager; 60 private IDynamicTextureManager m_textureManager;
61 private IDynamicTextureManager TextureManager
62 {
63 get
64 {
65 if (m_textureManager == null && m_scene != null)
66 {
67 m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>();
68 if (m_textureManager != null)
69 {
70 m_textureManager.RegisterRender(GetContentType(), this);
71 }
72 }
73 return m_textureManager;
74 }
75 }
76 61
77 private Graphics m_graph; 62 private Graphics m_graph;
78 private string m_fontName = "Arial"; 63 private string m_fontName = "Arial";
@@ -121,8 +106,13 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
121 106
122 public bool AsyncConvertData(UUID id, string bodyData, string extraParams) 107 public bool AsyncConvertData(UUID id, string bodyData, string extraParams)
123 { 108 {
109 if (m_textureManager == null)
110 {
111 m_log.Warn("[VECTORRENDERMODULE]: No texture manager. Can't function");
112 return false;
113 }
124 // XXX: This isn't actually being done asynchronously! 114 // XXX: This isn't actually being done asynchronously!
125 TextureManager.ReturnData(id, ConvertData(bodyData, extraParams)); 115 m_textureManager.ReturnData(id, ConvertData(bodyData, extraParams));
126 116
127 return true; 117 return true;
128 } 118 }
@@ -180,6 +170,14 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
180 170
181 public void RegionLoaded(Scene scene) 171 public void RegionLoaded(Scene scene)
182 { 172 {
173 if (m_textureManager == null && m_scene == scene)
174 {
175 m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>();
176 if (m_textureManager != null)
177 {
178 m_textureManager.RegisterRender(GetContentType(), this);
179 }
180 }
183 } 181 }
184 182
185 public void RemoveRegion(Scene scene) 183 public void RemoveRegion(Scene scene)
diff --git a/OpenSim/Tests/Common/Helpers/SceneHelpers.cs b/OpenSim/Tests/Common/Helpers/SceneHelpers.cs
index f9c1ac2..db0a7fc 100644
--- a/OpenSim/Tests/Common/Helpers/SceneHelpers.cs
+++ b/OpenSim/Tests/Common/Helpers/SceneHelpers.cs
@@ -385,6 +385,11 @@ namespace OpenSim.Tests.Common
385 385
386 foreach (IRegionModuleBase module in newModules) 386 foreach (IRegionModuleBase module in newModules)
387 { 387 {
388 if (module is ISharedRegionModule) ((ISharedRegionModule)module).PostInitialise();
389 }
390
391 foreach (IRegionModuleBase module in newModules)
392 {
388 foreach (Scene scene in scenes) 393 foreach (Scene scene in scenes)
389 { 394 {
390 module.AddRegion(scene); 395 module.AddRegion(scene);
@@ -392,11 +397,6 @@ namespace OpenSim.Tests.Common
392 } 397 }
393 } 398 }
394 399
395 foreach (IRegionModuleBase module in newModules)
396 {
397 if (module is ISharedRegionModule) ((ISharedRegionModule)module).PostInitialise();
398 }
399
400 // RegionLoaded is fired after all modules have been appropriately added to all scenes 400 // RegionLoaded is fired after all modules have been appropriately added to all scenes
401 foreach (IRegionModuleBase module in newModules) 401 foreach (IRegionModuleBase module in newModules)
402 foreach (Scene scene in scenes) 402 foreach (Scene scene in scenes)