From f53c6b25940a51fce208b3dae21fad49ab8d1efe Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 24 Mar 2012 02:30:21 +0000 Subject: Use system provided temporary file in "terrain save-tile" to avoid problems with drive letters on windows Thanks to Garmin Kawaguichi for picking up on this and providing an initial solution (which I adapted). --- .../CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/CoreModules/World/Terrain') diff --git a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs index 21a9999..58925fd 100644 --- a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs +++ b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs @@ -132,13 +132,13 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders { // We need to do this because: // "Saving the image to the same file it was constructed from is not allowed and throws an exception." - string tempName = offsetX + "_ " + offsetY + "_" + filename; + string tempName = Path.GetTempFileName(); Bitmap entireBitmap = null; Bitmap thisBitmap = null; if (File.Exists(filename)) { - File.Copy(filename, tempName); + File.Copy(filename, tempName, true); entireBitmap = new Bitmap(tempName); if (entireBitmap.Width != fileWidth * regionSizeX || entireBitmap.Height != fileHeight * regionSizeY) { @@ -152,7 +152,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders } thisBitmap = CreateGrayscaleBitmapFromMap(m_channel); - Console.WriteLine("offsetX=" + offsetX + " offsetY=" + offsetY); +// Console.WriteLine("offsetX=" + offsetX + " offsetY=" + offsetY); for (int x = 0; x < regionSizeX; x++) for (int y = 0; y < regionSizeY; y++) entireBitmap.SetPixel(x + offsetX * regionSizeX, y + (fileHeight - 1 - offsetY) * regionSizeY, thisBitmap.GetPixel(x, y)); -- cgit v1.1