In SQLiteSimulationData.RemoveLandObject(), don't manually remove the row from the data adaptor's Rows list in addition to calling Delete.
This matches the behaviour for other deletions and stops this operation failing on Windows .NET (though mono is fine with the duplication). Probably a holdover from copying code from the older legacy adaptor. Resolves http://opensimulator.org/mantis/view.php?id=53610.7.1-dev
parent
98af0db8c0
commit
754c244f46
|
@ -669,10 +669,6 @@ namespace OpenSim.Data.SQLite
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="globalID"></param>
|
|
||||||
public void RemoveLandObject(UUID globalID)
|
public void RemoveLandObject(UUID globalID)
|
||||||
{
|
{
|
||||||
lock (ds)
|
lock (ds)
|
||||||
|
@ -698,7 +694,6 @@ namespace OpenSim.Data.SQLite
|
||||||
if (landRow != null)
|
if (landRow != null)
|
||||||
{
|
{
|
||||||
landRow.Delete();
|
landRow.Delete();
|
||||||
land.Rows.Remove(landRow);
|
|
||||||
}
|
}
|
||||||
List<DataRow> rowsToDelete = new List<DataRow>();
|
List<DataRow> rowsToDelete = new List<DataRow>();
|
||||||
foreach (DataRow rowToCheck in landaccesslist.Rows)
|
foreach (DataRow rowToCheck in landaccesslist.Rows)
|
||||||
|
@ -709,7 +704,6 @@ namespace OpenSim.Data.SQLite
|
||||||
for (int iter = 0; iter < rowsToDelete.Count; iter++)
|
for (int iter = 0; iter < rowsToDelete.Count; iter++)
|
||||||
{
|
{
|
||||||
rowsToDelete[iter].Delete();
|
rowsToDelete[iter].Delete();
|
||||||
landaccesslist.Rows.Remove(rowsToDelete[iter]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Commit();
|
Commit();
|
||||||
|
|
BIN
bin/sqlite3.dll
BIN
bin/sqlite3.dll
Binary file not shown.
Loading…
Reference in New Issue