Add en_US culture setting to the async delete to inventory thread, to avoid any issues with float serialization with machines set to non en_US locales.

Doing this to see if addresses inventory object deserialization problems in http://opensimulator.org/mantis/view.php?id=5708, though if it does I'm really surprised not to have seen it before now.
Really need to go through and systematically set the culture for every timer and change all BeginInvoke calls to FireAndForget instead.
But don't want to do something like that this close to a release.
remove-scene-viewer
Justin Clark-Casey (justincc) 2011-09-26 23:00:16 +01:00
parent 2b2580e3a1
commit a3531dec1a
1 changed files with 5 additions and 0 deletions

View File

@ -112,6 +112,11 @@ namespace OpenSim.Region.Framework.Scenes
private void InventoryRunDeleteTimer(object sender, ElapsedEventArgs e)
{
m_log.Debug("[ASYNC DELETER]: Starting send to inventory loop");
// We must set appearance parameters in the en_US culture in order to avoid issues where values are saved
// in a culture where decimal points are commas and then reloaded in a culture which just treats them as
// number seperators.
Culture.SetCurrentCulture();
while (InventoryDeQueueAndDelete())
{