Stop exceptions being thrown if GenerateMapTiles = false but no static map tile has been set. Do more informative warn instead.

user_profiles
Justin Clark-Casey (justincc) 2013-02-02 00:59:26 +00:00
parent d8d4e7f236
commit 9588328242
4 changed files with 36 additions and 10 deletions

View File

@ -75,7 +75,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.MapImage
public void Close() { } public void Close() { }
public void PostInitialise() { } public void PostInitialise() { }
///<summary> ///<summary>
/// ///
///</summary> ///</summary>
@ -133,7 +132,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.MapImage
///</summary> ///</summary>
public void AddRegion(Scene scene) public void AddRegion(Scene scene)
{ {
if (! m_enabled) if (!m_enabled)
return; return;
// Every shared region module has to maintain an indepedent list of // Every shared region module has to maintain an indepedent list of
@ -206,6 +205,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.MapImage
using (Image mapTile = tileGenerator.CreateMapTile()) using (Image mapTile = tileGenerator.CreateMapTile())
{ {
// XXX: The MapImageModule will return a null if the user has chosen not to create map tiles and there
// is no static map tile.
if (mapTile == null)
return;
using (MemoryStream stream = new MemoryStream()) using (MemoryStream stream = new MemoryStream())
{ {
mapTile.Save(stream, ImageFormat.Jpeg); mapTile.Save(stream, ImageFormat.Jpeg);

View File

@ -113,7 +113,6 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap
//t = System.Environment.TickCount - t; //t = System.Environment.TickCount - t;
//m_log.InfoFormat("[MAPTILE] generation of 10 maptiles needed {0} ms", t); //m_log.InfoFormat("[MAPTILE] generation of 10 maptiles needed {0} ms", t);
if (drawPrimVolume) if (drawPrimVolume)
{ {
DrawObjectVolume(m_scene, mapbmp); DrawObjectVolume(m_scene, mapbmp);
@ -121,7 +120,7 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap
} }
else else
{ {
mapbmp = fetchTexture(m_scene.RegionInfo.RegionSettings.TerrainImageID); mapbmp = FetchTexture(m_scene.RegionInfo.RegionSettings.TerrainImageID);
} }
return mapbmp; return mapbmp;
} }
@ -232,11 +231,19 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap
// } // }
// } // }
private Bitmap fetchTexture(UUID id) private Bitmap FetchTexture(UUID id)
{ {
AssetBase asset = m_scene.AssetService.Get(id.ToString()); AssetBase asset = m_scene.AssetService.Get(id.ToString());
m_log.DebugFormat("[MAPTILE]: Fetched static texture {0}, found: {1}", id, asset != null);
if (asset == null) return null; if (asset != null)
{
m_log.DebugFormat("[MAPTILE]: Static map image texture {0} found for {1}", id, m_scene.Name);
}
else
{
m_log.WarnFormat("[MAPTILE]: Static map image texture {0} not found for {1}", id, m_scene.Name);
return null;
}
ManagedImage managedImage; ManagedImage managedImage;
Image image; Image image;

View File

@ -269,9 +269,10 @@
; DefaultScriptEngine = "XEngine" ; DefaultScriptEngine = "XEngine"
;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true
;; Map tile options. You can choose to generate no map tiles at all, ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to
;; generate normal maptiles, or nominate an uploaded texture to ;; be the map tile using the MaptileStaticUUID parameter in this section or for individual regions in
;; be the map tile ;; the regions config file(s). If you do not want to upload map tiles at all, then you will need
;; to disable the MapImageServiceModule entirely.
; GenerateMaptiles = true ; GenerateMaptiles = true
;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0 ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0

View File

@ -1,6 +1,20 @@
; This file contains defaults for various settings in OpenSimulator. These can be overriden ; This file contains defaults for various settings in OpenSimulator. These can be overriden
; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini). ; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini).
[XMLRPC]
;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule
;; If enabled and set to XmlRpcRouterModule, this will post an event,
;; "xmlrpc_uri(string)" to the script concurrently with the first
;; remote_data event. This will contain the fully qualified URI an
;; external site needs to use to send XMLRPC requests to that script
;;
;; If enabled and set to XmlRpcGridRouterModule, newly created channels
;; will be registered with an external service via a configured uri
XmlRpcRouterModule = "XmlRpcRouterModule"
;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800
XmlRpcPort = 20800
[Startup] [Startup]
; Console prompt ; Console prompt