diff --git a/OpenMetaverse.StructuredData/StructuredData.cs b/OpenMetaverse.StructuredData/StructuredData.cs index 5e370ae3..99d84c83 100644 --- a/OpenMetaverse.StructuredData/StructuredData.cs +++ b/OpenMetaverse.StructuredData/StructuredData.cs @@ -85,7 +85,7 @@ namespace OpenMetaverse.StructuredData public virtual string AsString() { return String.Empty; } public virtual UUID AsUUID() { return UUID.Zero; } public virtual DateTime AsDate() { return Utils.Epoch; } - public virtual Uri AsUri() { return new Uri(String.Empty); } + public virtual Uri AsUri() { return new Uri("http://null/"); } public virtual byte[] AsBinary() { return Utils.EmptyBytes; } public virtual Vector2 AsVector2() { return Vector2.Zero; } public virtual Vector3 AsVector3() { return Vector3.Zero; } diff --git a/OpenMetaverse/Types/CircularQueue.cs b/OpenMetaverse/Types/CircularQueue.cs index fb6bcc01..3c2ac42b 100644 --- a/OpenMetaverse/Types/CircularQueue.cs +++ b/OpenMetaverse/Types/CircularQueue.cs @@ -53,15 +53,18 @@ namespace OpenMetaverse /// Circular queue to copy public CircularQueue(CircularQueue queue) { - capacity = queue.capacity; - Items = new T[capacity]; - syncRoot = new object(); + lock (queue.syncRoot) + { + capacity = queue.capacity; + Items = new T[capacity]; + syncRoot = new object(); - for (int i = 0; i < capacity; i++) - Items[i] = queue.Items[i]; + for (int i = 0; i < capacity; i++) + Items[i] = queue.Items[i]; - first = queue.first; - next = queue.next; + first = queue.first; + next = queue.next; + } } public void Clear()