From f45a69821b04fd743b7e79ab594484d055e06226 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Tue, 22 Dec 2009 21:00:46 -0800
Subject: Added Close() to Inventory/Archiver/InventoryArchiveReadRequest, so
that the stream can be closed.
---
.../Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
index b778389..f299b0c 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
@@ -174,7 +174,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
return nodesLoaded;
}
-
+
+ public void Close()
+ {
+ if (m_loadStream != null)
+ m_loadStream.Close();
+ }
+
///
/// Replicate the inventory paths in the archive to the user's inventory as necessary.
///
--
cgit v1.1
From fddefff28479b6874235419dd5d26214afabb4f2 Mon Sep 17 00:00:00 2001
From: Charles Krinke
Date: Wed, 23 Dec 2009 10:34:11 -0800
Subject: Thank you kindly, Ziah for a patch that adds the channel to the class
ChatEventArgs and retrieves it's value along with the others from the
OSChatMessage in HandleChatPackage. With this the MRM Script can check if a
ChatEvent is coming in on a specifc Channel. The Second Part adds the Method
say(string msg , int channel) to send a chat message on the specified
channel. The idea behind this is to enable MRM's to communicate with regular
LSL or OSSL Scripts so that they may can act as a Backend to access a
Database or do business Logic for those Scripts.
Signed-off-by: Charles Krinke
---
.../OptionalModules/Scripting/Minimodule/Interfaces/IObject.cs | 2 ++
.../OptionalModules/Scripting/Minimodule/Interfaces/IWorld.cs | 1 +
OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs | 9 +++++++++
OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs | 6 ++++--
4 files changed, 16 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IObject.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IObject.cs
index 19f7210..9d64667 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IObject.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IObject.cs
@@ -179,6 +179,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
///
/// The message to send to the user
void Say(string msg);
+
+ void Say(string msg,int channel);
////
/// Grants access to the objects inventory
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IWorld.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IWorld.cs
index 3c14ed5..3b3b3d0 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IWorld.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/Interfaces/IWorld.cs
@@ -41,6 +41,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
{
public string Text;
public IEntity Sender;
+ public int Channel;
}
public delegate void OnChatDelegate(IWorld sender, ChatEventArgs e);
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs
index 143c454..9596d13 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs
@@ -384,6 +384,15 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
m_rootScene.SimChat(msg, ChatTypeEnum.Say, sop.AbsolutePosition, sop.Name, sop.UUID, false);
}
+ public void Say(string msg,int channel)
+ {
+ if (!CanEdit())
+ return;
+
+ SceneObjectPart sop = GetSOP();
+ m_rootScene.SimChat(Utils.StringToBytes(msg), ChatTypeEnum.Say,channel, sop.AbsolutePosition, sop.Name, sop.UUID, false);
+ }
+
#endregion
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs
index 6fcb5d0..82020cb 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/World.cs
@@ -148,7 +148,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
ChatEventArgs e = new ChatEventArgs();
e.Sender = new SOPObject(m_internalScene, ((SceneObjectPart) chat.SenderObject).LocalId, m_security);
e.Text = chat.Message;
-
+ e.Channel = chat.Channel;
+
_OnChat(this, e);
return;
}
@@ -158,7 +159,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
ChatEventArgs e = new ChatEventArgs();
e.Sender = new SPAvatar(m_internalScene, chat.SenderUUID, m_security);
e.Text = chat.Message;
-
+ e.Channel = chat.Channel;
+
_OnChat(this, e);
return;
}
--
cgit v1.1
From c05a35cc7168d13655f7e3a38e0e0df0f2bf1060 Mon Sep 17 00:00:00 2001
From: Melanie
Date: Wed, 23 Dec 2009 21:20:48 +0000
Subject: Fix a bounds exception I came across in IAR restore
---
.../Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs | 5 +++++
1 file changed, 5 insertions(+)
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
index b778389..304c081 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
@@ -258,6 +258,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
= rawDirsToCreate[i].LastIndexOf(
ArchiveConstants.INVENTORY_NODE_NAME_COMPONENT_SEPARATOR);
+ if (identicalNameIdentifierIndex < 0)
+ {
+ i++;
+ continue;
+ }
string newFolderName = rawDirsToCreate[i].Remove(identicalNameIdentifierIndex);
newFolderName = InventoryArchiveUtils.UnescapeArchivePath(newFolderName);
--
cgit v1.1