diff options
Diffstat (limited to 'OpenSim/Region')
5 files changed, 29 insertions, 11 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 17242dc..431f3dc 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1423,7 +1423,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1423 | if (item.AssetType == (int)AssetType.Link) | 1423 | if (item.AssetType == (int)AssetType.Link) |
1424 | { | 1424 | { |
1425 | InventoryItemBase linkedItem = InventoryService.GetItem(new InventoryItemBase(item.AssetID)); | 1425 | InventoryItemBase linkedItem = InventoryService.GetItem(new InventoryItemBase(item.AssetID)); |
1426 | linkedItemFolderIdsToSend.Add(linkedItem.Folder); | 1426 | |
1427 | // Take care of genuinely broken links where the target doesn't exist | ||
1428 | if (linkedItem != null) | ||
1429 | linkedItemFolderIdsToSend.Add(linkedItem.Folder); | ||
1427 | } | 1430 | } |
1428 | } | 1431 | } |
1429 | 1432 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index bac66cb..313a469 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -620,7 +620,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
620 | "delete object uuid <UUID>", | 620 | "delete object uuid <UUID>", |
621 | "Delete object by uuid", HandleDeleteObject); | 621 | "Delete object by uuid", HandleDeleteObject); |
622 | MainConsole.Instance.Commands.AddCommand("region", false, "delete object name", | 622 | MainConsole.Instance.Commands.AddCommand("region", false, "delete object name", |
623 | "delete object name <UUID>", | 623 | "delete object name <name>", |
624 | "Delete object by name", HandleDeleteObject); | 624 | "Delete object by name", HandleDeleteObject); |
625 | 625 | ||
626 | //Bind Storage Manager functions to some land manager functions for this scene | 626 | //Bind Storage Manager functions to some land manager functions for this scene |
diff --git a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs index ce9a448..b74d6e7 100644 --- a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs +++ b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs | |||
@@ -58,12 +58,9 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup | |||
58 | /// </summary> | 58 | /// </summary> |
59 | /// <remarks> | 59 | /// <remarks> |
60 | /// Config Settings Documentation. | 60 | /// Config Settings Documentation. |
61 | /// At the TOP LEVEL, e.g. in OpenSim.ini, we have the following options: | 61 | /// Each configuration setting can be specified in two places: OpenSim.ini or Regions.ini. |
62 | /// EACH REGION, in OpenSim.ini, can have the following settings under the [AutoBackupModule] section. | 62 | /// If specified in Regions.ini, the settings should be within the region's section name. |
63 | /// IMPORTANT: You may optionally specify the key name as follows for a per-region key: [Region Name].[Key Name] | 63 | /// If specified in OpenSim.ini, the settings should be within the [AutoBackupModule] section. |
64 | /// Example: My region is named Foo. | ||
65 | /// If I wanted to specify the "AutoBackupInterval" key just for this region, I would name my key "Foo.AutoBackupInterval", under the [AutoBackupModule] section of OpenSim.ini. | ||
66 | /// Instead of specifying them on a per-region basis, you can also omit the region name to specify the default setting for all regions. | ||
67 | /// Region-specific settings take precedence. | 64 | /// Region-specific settings take precedence. |
68 | /// | 65 | /// |
69 | /// AutoBackupModuleEnabled: True/False. Default: False. If True, use the auto backup module. This setting does not support per-region basis. | 66 | /// AutoBackupModuleEnabled: True/False. Default: False. If True, use the auto backup module. This setting does not support per-region basis. |
@@ -71,7 +68,7 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup | |||
71 | /// AutoBackup: True/False. Default: False. If True, activate auto backup functionality. | 68 | /// AutoBackup: True/False. Default: False. If True, activate auto backup functionality. |
72 | /// This is the only required option for enabling auto-backup; the other options have sane defaults. | 69 | /// This is the only required option for enabling auto-backup; the other options have sane defaults. |
73 | /// If False for a particular region, the auto-backup module becomes a no-op for the region, and all other AutoBackup* settings are ignored. | 70 | /// If False for a particular region, the auto-backup module becomes a no-op for the region, and all other AutoBackup* settings are ignored. |
74 | /// If False globally (the default), only regions that specifically override this with "FooRegion.AutoBackup = true" will get AutoBackup functionality. | 71 | /// If False globally (the default), only regions that specifically override it in Regions.ini will get AutoBackup functionality. |
75 | /// AutoBackupInterval: Double, non-negative value. Default: 720 (12 hours). | 72 | /// AutoBackupInterval: Double, non-negative value. Default: 720 (12 hours). |
76 | /// The number of minutes between each backup attempt. | 73 | /// The number of minutes between each backup attempt. |
77 | /// If a negative or zero value is given, it is equivalent to setting AutoBackup = False. | 74 | /// If a negative or zero value is given, it is equivalent to setting AutoBackup = False. |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 48a7953..c240edf 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -4887,6 +4887,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4887 | return result; | 4887 | return result; |
4888 | } | 4888 | } |
4889 | 4889 | ||
4890 | public LSL_Integer llGetLinkNumberOfSides(int link) | ||
4891 | { | ||
4892 | m_host.AddScriptLPS(1); | ||
4893 | |||
4894 | SceneObjectPart linkedPart; | ||
4895 | |||
4896 | if (link == ScriptBaseClass.LINK_ROOT) | ||
4897 | linkedPart = m_host.ParentGroup.RootPart; | ||
4898 | else if (link == ScriptBaseClass.LINK_THIS) | ||
4899 | linkedPart = m_host; | ||
4900 | else | ||
4901 | linkedPart = m_host.ParentGroup.GetLinkNumPart(link); | ||
4902 | |||
4903 | return GetNumberOfSides(linkedPart); | ||
4904 | } | ||
4905 | |||
4890 | public LSL_Integer llGetNumberOfSides() | 4906 | public LSL_Integer llGetNumberOfSides() |
4891 | { | 4907 | { |
4892 | m_host.AddScriptLPS(1); | 4908 | m_host.AddScriptLPS(1); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs index 665f4a6..6bfee91 100644 --- a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs +++ b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs | |||
@@ -1530,6 +1530,7 @@ namespace OpenSim.Region.ScriptEngine.Shared | |||
1530 | public struct LSLInteger | 1530 | public struct LSLInteger |
1531 | { | 1531 | { |
1532 | public int value; | 1532 | public int value; |
1533 | private static readonly Regex castRegex = new Regex(@"(^[ ]*0[xX][0-9A-Fa-f][0-9A-Fa-f]*)|(^[ ]*(-?|\+?)[0-9][0-9]*)"); | ||
1533 | 1534 | ||
1534 | #region Constructors | 1535 | #region Constructors |
1535 | public LSLInteger(int i) | 1536 | public LSLInteger(int i) |
@@ -1549,9 +1550,10 @@ namespace OpenSim.Region.ScriptEngine.Shared | |||
1549 | 1550 | ||
1550 | public LSLInteger(string s) | 1551 | public LSLInteger(string s) |
1551 | { | 1552 | { |
1552 | Regex r = new Regex("(^[ ]*0[xX][0-9A-Fa-f][0-9A-Fa-f]*)|(^[ ]*-?[0-9][0-9]*)"); | 1553 | Match m = castRegex.Match(s); |
1553 | Match m = r.Match(s); | ||
1554 | string v = m.Groups[0].Value; | 1554 | string v = m.Groups[0].Value; |
1555 | // Leading plus sign is allowed, but ignored | ||
1556 | v = v.Replace("+", ""); | ||
1555 | 1557 | ||
1556 | if (v == String.Empty) | 1558 | if (v == String.Empty) |
1557 | { | 1559 | { |