Correct minor bug regarding packing of estate bans

bullet-2.82
Diva Canto 2014-06-01 12:01:49 -07:00
parent 94d0ae0d91
commit 14a31c3e9b
1 changed files with 19 additions and 12 deletions

View File

@ -443,11 +443,15 @@ namespace OpenSim.Framework
} }
// EstateBans are special // EstateBans are special
Dictionary<string, object> bans = new Dictionary<string, object>(); if (EstateBans.Length > 0)
int i = 0; {
foreach (EstateBan ban in EstateBans) Dictionary<string, object> bans = new Dictionary<string, object>();
bans["ban" + i++] = ban.ToMap(); int i = 0;
map["EstateBans"] = bans; foreach (EstateBan ban in EstateBans)
bans["ban" + i++] = ban.ToMap();
map["EstateBans"] = bans;
}
return map; return map;
} }
@ -511,13 +515,16 @@ namespace OpenSim.Framework
} }
// EstateBans are special // EstateBans are special
var banData = ((Dictionary<string, object>)map["EstateBans"]).Values; if (map.ContainsKey("EstateBans"))
EstateBan[] bans = new EstateBan[banData.Count]; {
int b = 0; var banData = ((Dictionary<string, object>)map["EstateBans"]).Values;
foreach (Dictionary<string, object> ban in banData) EstateBan[] bans = new EstateBan[banData.Count];
bans[b++] = new EstateBan(ban); int b = 0;
PropertyInfo bansProperty = this.GetType().GetProperty("EstateBans", BindingFlags.Public | BindingFlags.Instance); foreach (Dictionary<string, object> ban in banData)
bansProperty.SetValue(this, bans, null); bans[b++] = new EstateBan(ban);
PropertyInfo bansProperty = this.GetType().GetProperty("EstateBans", BindingFlags.Public | BindingFlags.Instance);
bansProperty.SetValue(this, bans, null);
}
} }
} }
} }