diff options
author | Justin Clark-Casey (justincc) | 2015-02-11 00:53:56 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2015-02-11 00:53:56 +0000 |
commit | dd6f560c05caafed740de037eb2b76fcf3924a4a (patch) | |
tree | 8cb45b89fa760c6f259a83bf00a3409e3e0b57c0 | |
parent | Somewhat naive implementation of RotationalVelocity setter for ODE. Enables l... (diff) | |
download | opensim-SC_OLD-dd6f560c05caafed740de037eb2b76fcf3924a4a.zip opensim-SC_OLD-dd6f560c05caafed740de037eb2b76fcf3924a4a.tar.gz opensim-SC_OLD-dd6f560c05caafed740de037eb2b76fcf3924a4a.tar.bz2 opensim-SC_OLD-dd6f560c05caafed740de037eb2b76fcf3924a4a.tar.xz |
If serialized scene object XML has a SavedScriptState with no UUID, then read past the innerXML instead of wrongly continously looping on the same element.
Addresses http://opensimulator.org/mantis/view.php?id=7437
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 20fe3ce..0a1a226 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -924,13 +924,17 @@ namespace OpenSim.Region.Framework.Scenes | |||
924 | 924 | ||
925 | string uuid = reader.GetAttribute("UUID"); | 925 | string uuid = reader.GetAttribute("UUID"); |
926 | 926 | ||
927 | // Even if there is no UUID attribute for some strange reason, we must always read the inner XML | ||
928 | // so we don't continually keep checking the same SavedScriptedState element. | ||
929 | string innerXml = reader.ReadInnerXml(); | ||
930 | |||
927 | if (uuid != null) | 931 | if (uuid != null) |
928 | { | 932 | { |
929 | // m_log.DebugFormat("[SCENE OBJECT GROUP]: Found state for item ID {0} in object {1}", uuid, Name); | 933 | // m_log.DebugFormat("[SCENE OBJECT GROUP]: Found state for item ID {0} in object {1}", uuid, Name); |
930 | 934 | ||
931 | UUID itemid = new UUID(uuid); | 935 | UUID itemid = new UUID(uuid); |
932 | if (itemid != UUID.Zero) | 936 | if (itemid != UUID.Zero) |
933 | m_savedScriptState[itemid] = reader.ReadInnerXml(); | 937 | m_savedScriptState[itemid] = innerXml; |
934 | } | 938 | } |
935 | else | 939 | else |
936 | { | 940 | { |