diff options
author | Justin Clark-Casey (justincc) | 2011-09-13 17:13:42 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-09-13 17:13:42 +0100 |
commit | 306af9934aac2aaf7fe9baa156b3cc57ff3f3f56 (patch) | |
tree | 20919d561f08703e0cb5c59991b2bc59bc99e7b3 /OpenSim/Region/Framework | |
parent | eliminate redundant SP.m_regionInfo since it always has the scene. (diff) | |
download | opensim-SC-306af9934aac2aaf7fe9baa156b3cc57ff3f3f56.zip opensim-SC-306af9934aac2aaf7fe9baa156b3cc57ff3f3f56.tar.gz opensim-SC-306af9934aac2aaf7fe9baa156b3cc57ff3f3f56.tar.bz2 opensim-SC-306af9934aac2aaf7fe9baa156b3cc57ff3f3f56.tar.xz |
In an object return message, send a null-terminated empty string in binary bucket to prevent a viewer 3 crash.
This is the message sent to the client when the object is returned.
We were sending byte[0] in the binary bucket. This didn't kill viewer 1 but did terminate viewer 3 (don't know about viewer 2).
So sending "\0" instead.
This is to address http://opensimulator.org/mantis/view.php?id=5683
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index e0bc891..a0a2624 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1579,7 +1579,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1579 | msg.ParentEstateID = RegionInfo.EstateSettings.ParentEstateID; | 1579 | msg.ParentEstateID = RegionInfo.EstateSettings.ParentEstateID; |
1580 | msg.Position = Vector3.Zero; | 1580 | msg.Position = Vector3.Zero; |
1581 | msg.RegionID = RegionInfo.RegionID.Guid; | 1581 | msg.RegionID = RegionInfo.RegionID.Guid; |
1582 | msg.binaryBucket = new byte[0]; | 1582 | |
1583 | // We must fill in a null-terminated 'empty' string here since bytes[0] will crash viewer 3. | ||
1584 | msg.binaryBucket = Util.StringToBytes256("\0"); | ||
1583 | if (ret.Value.count > 1) | 1585 | if (ret.Value.count > 1) |
1584 | msg.message = string.Format("Your {0} objects were returned from {1} in region {2} due to {3}", ret.Value.count, ret.Value.location.ToString(), RegionInfo.RegionName, ret.Value.reason); | 1586 | msg.message = string.Format("Your {0} objects were returned from {1} in region {2} due to {3}", ret.Value.count, ret.Value.location.ToString(), RegionInfo.RegionName, ret.Value.reason); |
1585 | else | 1587 | else |