From d44baf20cd6aa3bf688aa602f3a15740d20bc5eb Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 25 Apr 2020 20:25:38 +0100 Subject: [PATCH] fix map image encoder parameter --- .../CoreModules/World/WorldMap/WorldMapModule.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index 4fba39fd42..cd25cb8117 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs @@ -1239,6 +1239,11 @@ namespace OpenSim.Region.CoreModules.World.WorldMap // non-async because we know we have the asset immediately. AssetBase mapasset = m_scene.AssetService.Get(m_scene.RegionInfo.RegionSettings.TerrainImageID.ToString()); + if(mapasset == null || mapasset.Data == null || mapasset.Data.Length == 0) + { + response.StatusCode = (int)HttpStatusCode.NotFound; + return; + } // Decode image to System.Drawing.Image if (OpenJPEG.DecodeToImage(mapasset.Data, out managedImage, out image)) @@ -1247,7 +1252,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap mapTexture = new Bitmap(image); EncoderParameters myEncoderParameters = new EncoderParameters(); - myEncoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 95); + myEncoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 95L); // Save bitmap to stream mapTexture.Save(imgstream, GetEncoderInfo("image/jpeg"), myEncoderParameters); @@ -1257,10 +1262,10 @@ namespace OpenSim.Region.CoreModules.World.WorldMap myMapImageJPEG = jpeg; } } - catch (Exception) + catch (Exception e) { // Dummy! - m_log.Warn("[WORLD MAP]: Unable to generate Map image"); + m_log.Warn("[WORLD MAP]: Unable to generate Map image" + e.Message); response.StatusCode = (int)HttpStatusCode.NotFound; return; }