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.
0.7.2-post-fixes
Justin Clark-Casey (justincc) 2011-09-26 23:00:16 +01:00
parent c2586b0ea9
commit 94f49e859b
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())
{