diff options
5 files changed, 37 insertions, 10 deletions
diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs index dcc88c4..914e4d6 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs | |||
@@ -263,6 +263,8 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
263 | Scene rebootedScene = null; | 263 | Scene rebootedScene = null; |
264 | GetSceneFromRegionParams(requestData, responseData, out rebootedScene); | 264 | GetSceneFromRegionParams(requestData, responseData, out rebootedScene); |
265 | 265 | ||
266 | IRestartModule restartModule = rebootedScene.RequestModuleInterface<IRestartModule>(); | ||
267 | |||
266 | responseData["success"] = false; | 268 | responseData["success"] = false; |
267 | responseData["accepted"] = true; | 269 | responseData["accepted"] = true; |
268 | responseData["rebooting"] = true; | 270 | responseData["rebooting"] = true; |
@@ -273,6 +275,23 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
273 | if (requestData.ContainsKey("alerts")) | 275 | if (requestData.ContainsKey("alerts")) |
274 | { | 276 | { |
275 | string[] alertTimes = requestData["alerts"].ToString().Split( new char[] {','}); | 277 | string[] alertTimes = requestData["alerts"].ToString().Split( new char[] {','}); |
278 | if (alertTimes.Length == 1 && Convert.ToInt32(alertTimes[0]) == -1) | ||
279 | { | ||
280 | if (restartModule != null) | ||
281 | { | ||
282 | message = "Restart has been cancelled"; | ||
283 | |||
284 | if (requestData.ContainsKey("message")) | ||
285 | message = requestData["message"].ToString(); | ||
286 | |||
287 | restartModule.AbortRestart(message); | ||
288 | |||
289 | responseData["success"] = true; | ||
290 | responseData["rebooting"] = false; | ||
291 | |||
292 | return; | ||
293 | } | ||
294 | } | ||
276 | foreach (string a in alertTimes) | 295 | foreach (string a in alertTimes) |
277 | times.Add(Convert.ToInt32(a)); | 296 | times.Add(Convert.ToInt32(a)); |
278 | } | 297 | } |
@@ -305,7 +324,6 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
305 | notice = false; | 324 | notice = false; |
306 | } | 325 | } |
307 | 326 | ||
308 | IRestartModule restartModule = rebootedScene.RequestModuleInterface<IRestartModule>(); | ||
309 | if (restartModule != null) | 327 | if (restartModule != null) |
310 | { | 328 | { |
311 | restartModule.ScheduleRestart(UUID.Zero, message, times.ToArray(), notice); | 329 | restartModule.ScheduleRestart(UUID.Zero, message, times.ToArray(), notice); |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index bbaa08e..a50a61d 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -2766,7 +2766,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2766 | reply.Data.ParcelID = parcelID; | 2766 | reply.Data.ParcelID = parcelID; |
2767 | reply.Data.OwnerID = land.OwnerID; | 2767 | reply.Data.OwnerID = land.OwnerID; |
2768 | reply.Data.Name = Utils.StringToBytes(land.Name); | 2768 | reply.Data.Name = Utils.StringToBytes(land.Name); |
2769 | reply.Data.Desc = Utils.StringToBytes(land.Description); | 2769 | reply.Data.Desc = Utils.StringToBytes(land.Description.Substring(0, land.Description.Length > 254 ? 254: land.Description.Length)); |
2770 | reply.Data.ActualArea = land.Area; | 2770 | reply.Data.ActualArea = land.Area; |
2771 | reply.Data.BillableArea = land.Area; // TODO: what is this? | 2771 | reply.Data.BillableArea = land.Area; // TODO: what is this? |
2772 | 2772 | ||
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 161cf82..d5e3314 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | |||
@@ -256,6 +256,12 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
256 | IRestartModule restartModule = Scene.RequestModuleInterface<IRestartModule>(); | 256 | IRestartModule restartModule = Scene.RequestModuleInterface<IRestartModule>(); |
257 | if (restartModule != null) | 257 | if (restartModule != null) |
258 | { | 258 | { |
259 | if (timeInSeconds == -1) | ||
260 | { | ||
261 | restartModule.AbortRestart("Restart aborted by region manager"); | ||
262 | return; | ||
263 | } | ||
264 | |||
259 | List<int> times = new List<int>(); | 265 | List<int> times = new List<int>(); |
260 | while (timeInSeconds > 0) | 266 | while (timeInSeconds > 0) |
261 | { | 267 | { |
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index 2d54ed1..07b28c7 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs | |||
@@ -190,10 +190,10 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
190 | else | 190 | else |
191 | { | 191 | { |
192 | // Normal Calculations | 192 | // Normal Calculations |
193 | int parcelMax = (int)((double)(LandData.Area | 193 | int parcelMax = (int)((long)LandData.Area |
194 | * m_scene.RegionInfo.ObjectCapacity) | 194 | * (long)m_scene.RegionInfo.ObjectCapacity |
195 | * m_scene.RegionInfo.RegionSettings.ObjectBonus) | 195 | * (long)m_scene.RegionInfo.RegionSettings.ObjectBonus |
196 | / 65536; | 196 | / 65536L); |
197 | m_log.DebugFormat("Area: {0}, Capacity {1}, Bonus {2}, Parcel {3}", LandData.Area, m_scene.RegionInfo.ObjectCapacity, m_scene.RegionInfo.RegionSettings.ObjectBonus, parcelMax); | 197 | m_log.DebugFormat("Area: {0}, Capacity {1}, Bonus {2}, Parcel {3}", LandData.Area, m_scene.RegionInfo.ObjectCapacity, m_scene.RegionInfo.RegionSettings.ObjectBonus, parcelMax); |
198 | return parcelMax; | 198 | return parcelMax; |
199 | } | 199 | } |
@@ -208,9 +208,9 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
208 | else | 208 | else |
209 | { | 209 | { |
210 | // Normal Calculations | 210 | // Normal Calculations |
211 | int parcelMax = LandData.Area | 211 | int parcelMax = (int)((long)LandData.Area |
212 | * m_scene.RegionInfo.ObjectCapacity | 212 | * (long)m_scene.RegionInfo.ObjectCapacity |
213 | / 65536; | 213 | / 65536L); |
214 | return parcelMax; | 214 | return parcelMax; |
215 | } | 215 | } |
216 | } | 216 | } |
@@ -226,7 +226,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
226 | //Normal Calculations | 226 | //Normal Calculations |
227 | int simMax = (int)((long)LandData.SimwideArea | 227 | int simMax = (int)((long)LandData.SimwideArea |
228 | * (long)m_scene.RegionInfo.ObjectCapacity / 65536L); | 228 | * (long)m_scene.RegionInfo.ObjectCapacity / 65536L); |
229 | m_log.DebugFormat("Simwide Area: {0}, Capacity {1}, SimMax {2}", LandData.SimwideArea, m_scene.RegionInfo.ObjectCapacity, simMax); | 229 | // m_log.DebugFormat("Simwide Area: {0}, Capacity {1}, SimMax {2}", LandData.SimwideArea, m_scene.RegionInfo.ObjectCapacity, simMax); |
230 | return simMax; | 230 | return simMax; |
231 | } | 231 | } |
232 | } | 232 | } |
diff --git a/OpenSim/Region/CoreModules/World/Region/RestartModule.cs b/OpenSim/Region/CoreModules/World/Region/RestartModule.cs index 7f6f4df..86821c6 100644 --- a/OpenSim/Region/CoreModules/World/Region/RestartModule.cs +++ b/OpenSim/Region/CoreModules/World/Region/RestartModule.cs | |||
@@ -240,6 +240,9 @@ namespace OpenSim.Region.CoreModules.World.Region | |||
240 | if (m_DialogModule != null && message != String.Empty) | 240 | if (m_DialogModule != null && message != String.Empty) |
241 | m_DialogModule.SendGeneralAlert(message); | 241 | m_DialogModule.SendGeneralAlert(message); |
242 | } | 242 | } |
243 | if (m_MarkerPath != String.Empty) | ||
244 | File.Delete(Path.Combine(m_MarkerPath, | ||
245 | m_Scene.RegionInfo.RegionID.ToString())); | ||
243 | } | 246 | } |
244 | 247 | ||
245 | private void HandleRegionRestart(string module, string[] args) | 248 | private void HandleRegionRestart(string module, string[] args) |