diff options
author | Justin Clark-Casey (justincc) | 2010-02-12 23:13:35 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2010-02-12 23:13:35 +0000 |
commit | 00800c59d35662d65aeb61a17de0d56fa6196509 (patch) | |
tree | 594c2eefcf1806392d6c00cb86cf3b764f1d9f1c /OpenSim/Framework | |
parent | minor: remove completely commented out and unused class (diff) | |
download | opensim-SC-00800c59d35662d65aeb61a17de0d56fa6196509.zip opensim-SC-00800c59d35662d65aeb61a17de0d56fa6196509.tar.gz opensim-SC-00800c59d35662d65aeb61a17de0d56fa6196509.tar.bz2 opensim-SC-00800c59d35662d65aeb61a17de0d56fa6196509.tar.xz |
Apply last two patches from http://opensimulator.org/mantis/view.php?id=3522
These patch should allow people using systems that do not have their locale set to En_US or similar to use OpenSim without suffering effects such as being a million miles up in the air on login.
The problem was caused by parsing strings without forcing that parse to be En_US (hence different decimal and digit group symbols were causing problems).
Thanks very much to VikingErik for doing the legwork on this fix and phacelia for spotting it in the first place.
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r-- | OpenSim/Framework/Communications/Services/LoginService.cs | 4 | ||||
-rw-r--r-- | OpenSim/Framework/Culture.cs | 2 | ||||
-rw-r--r-- | OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs | 24 |
3 files changed, 15 insertions, 15 deletions
diff --git a/OpenSim/Framework/Communications/Services/LoginService.cs b/OpenSim/Framework/Communications/Services/LoginService.cs index 57ca704..71b38ed 100644 --- a/OpenSim/Framework/Communications/Services/LoginService.cs +++ b/OpenSim/Framework/Communications/Services/LoginService.cs | |||
@@ -1015,8 +1015,8 @@ namespace OpenSim.Framework.Communications.Services | |||
1015 | } | 1015 | } |
1016 | else | 1016 | else |
1017 | { | 1017 | { |
1018 | theUser.CurrentAgent.Position = new Vector3(float.Parse(uriMatch.Groups["x"].Value), | 1018 | theUser.CurrentAgent.Position = new Vector3(float.Parse(uriMatch.Groups["x"].Value, Culture.NumberFormatInfo), |
1019 | float.Parse(uriMatch.Groups["y"].Value), float.Parse(uriMatch.Groups["z"].Value)); | 1019 | float.Parse(uriMatch.Groups["y"].Value, Culture.NumberFormatInfo), float.Parse(uriMatch.Groups["z"].Value, Culture.NumberFormatInfo)); |
1020 | } | 1020 | } |
1021 | } | 1021 | } |
1022 | response.LookAt = "[r0,r1,r0]"; | 1022 | response.LookAt = "[r0,r1,r0]"; |
diff --git a/OpenSim/Framework/Culture.cs b/OpenSim/Framework/Culture.cs index 2066794..3d78fac 100644 --- a/OpenSim/Framework/Culture.cs +++ b/OpenSim/Framework/Culture.cs | |||
@@ -33,7 +33,7 @@ namespace OpenSim.Framework | |||
33 | { | 33 | { |
34 | public class Culture | 34 | public class Culture |
35 | { | 35 | { |
36 | private static readonly CultureInfo m_cultureInfo = new CultureInfo("en-US", true); | 36 | private static readonly CultureInfo m_cultureInfo = new CultureInfo("en-US", false); |
37 | 37 | ||
38 | public static NumberFormatInfo NumberFormatInfo | 38 | public static NumberFormatInfo NumberFormatInfo |
39 | { | 39 | { |
diff --git a/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs b/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs index b5901e1..6ba4c5a 100644 --- a/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs +++ b/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs | |||
@@ -109,7 +109,7 @@ namespace OpenSim.Framework.Serialization.External | |||
109 | settings.AgentLimit = int.Parse(xtr.ReadElementContentAsString()); | 109 | settings.AgentLimit = int.Parse(xtr.ReadElementContentAsString()); |
110 | break; | 110 | break; |
111 | case "ObjectBonus": | 111 | case "ObjectBonus": |
112 | settings.ObjectBonus = double.Parse(xtr.ReadElementContentAsString()); | 112 | settings.ObjectBonus = double.Parse(xtr.ReadElementContentAsString(), Culture.NumberFormatInfo); |
113 | break; | 113 | break; |
114 | } | 114 | } |
115 | } | 115 | } |
@@ -134,28 +134,28 @@ namespace OpenSim.Framework.Serialization.External | |||
134 | settings.TerrainTexture4 = UUID.Parse(xtr.ReadElementContentAsString()); | 134 | settings.TerrainTexture4 = UUID.Parse(xtr.ReadElementContentAsString()); |
135 | break; | 135 | break; |
136 | case "ElevationLowSW": | 136 | case "ElevationLowSW": |
137 | settings.Elevation1SW = double.Parse(xtr.ReadElementContentAsString()); | 137 | settings.Elevation1SW = double.Parse(xtr.ReadElementContentAsString(), Culture.NumberFormatInfo); |
138 | break; | 138 | break; |
139 | case "ElevationLowNW": | 139 | case "ElevationLowNW": |
140 | settings.Elevation1NW = double.Parse(xtr.ReadElementContentAsString()); | 140 | settings.Elevation1NW = double.Parse(xtr.ReadElementContentAsString(), Culture.NumberFormatInfo); |
141 | break; | 141 | break; |
142 | case "ElevationLowSE": | 142 | case "ElevationLowSE": |
143 | settings.Elevation1SE = double.Parse(xtr.ReadElementContentAsString()); | 143 | settings.Elevation1SE = double.Parse(xtr.ReadElementContentAsString(), Culture.NumberFormatInfo); |
144 | break; | 144 | break; |
145 | case "ElevationLowNE": | 145 | case "ElevationLowNE": |
146 | settings.Elevation1NE = double.Parse(xtr.ReadElementContentAsString()); | 146 | settings.Elevation1NE = double.Parse(xtr.ReadElementContentAsString(), Culture.NumberFormatInfo); |
147 | break; | 147 | break; |
148 | case "ElevationHighSW": | 148 | case "ElevationHighSW": |
149 | settings.Elevation2SW = double.Parse(xtr.ReadElementContentAsString()); | 149 | settings.Elevation2SW = double.Parse(xtr.ReadElementContentAsString(), Culture.NumberFormatInfo); |
150 | break; | 150 | break; |
151 | case "ElevationHighNW": | 151 | case "ElevationHighNW": |
152 | settings.Elevation2NW = double.Parse(xtr.ReadElementContentAsString()); | 152 | settings.Elevation2NW = double.Parse(xtr.ReadElementContentAsString(), Culture.NumberFormatInfo); |
153 | break; | 153 | break; |
154 | case "ElevationHighSE": | 154 | case "ElevationHighSE": |
155 | settings.Elevation2SE = double.Parse(xtr.ReadElementContentAsString()); | 155 | settings.Elevation2SE = double.Parse(xtr.ReadElementContentAsString(), Culture.NumberFormatInfo); |
156 | break; | 156 | break; |
157 | case "ElevationHighNE": | 157 | case "ElevationHighNE": |
158 | settings.Elevation2NE = double.Parse(xtr.ReadElementContentAsString()); | 158 | settings.Elevation2NE = double.Parse(xtr.ReadElementContentAsString(), Culture.NumberFormatInfo); |
159 | break; | 159 | break; |
160 | } | 160 | } |
161 | } | 161 | } |
@@ -168,13 +168,13 @@ namespace OpenSim.Framework.Serialization.External | |||
168 | switch (xtr.Name) | 168 | switch (xtr.Name) |
169 | { | 169 | { |
170 | case "WaterHeight": | 170 | case "WaterHeight": |
171 | settings.WaterHeight = double.Parse(xtr.ReadElementContentAsString()); | 171 | settings.WaterHeight = double.Parse(xtr.ReadElementContentAsString(), Culture.NumberFormatInfo); |
172 | break; | 172 | break; |
173 | case "TerrainRaiseLimit": | 173 | case "TerrainRaiseLimit": |
174 | settings.TerrainRaiseLimit = double.Parse(xtr.ReadElementContentAsString()); | 174 | settings.TerrainRaiseLimit = double.Parse(xtr.ReadElementContentAsString(), Culture.NumberFormatInfo); |
175 | break; | 175 | break; |
176 | case "TerrainLowerLimit": | 176 | case "TerrainLowerLimit": |
177 | settings.TerrainLowerLimit = double.Parse(xtr.ReadElementContentAsString()); | 177 | settings.TerrainLowerLimit = double.Parse(xtr.ReadElementContentAsString(), Culture.NumberFormatInfo); |
178 | break; | 178 | break; |
179 | case "UseEstateSun": | 179 | case "UseEstateSun": |
180 | settings.UseEstateSun = bool.Parse(xtr.ReadElementContentAsString()); | 180 | settings.UseEstateSun = bool.Parse(xtr.ReadElementContentAsString()); |