diff --git a/OpenMetaverse/ParcelManager.cs b/OpenMetaverse/ParcelManager.cs
index 61f5b128..ce54d999 100644
--- a/OpenMetaverse/ParcelManager.cs
+++ b/OpenMetaverse/ParcelManager.cs
@@ -202,6 +202,7 @@ namespace OpenMetaverse
///
/// Some information about a parcel of land returned from a DirectoryManager search
///
+ [Serializable]
public struct ParcelInfo
{
/// Global Key of record
@@ -1169,7 +1170,15 @@ namespace OpenMetaverse
/// dictionary.
public int GetParcelLocalID(Simulator simulator, Vector3 position)
{
- return simulator.ParcelMap[(byte)position.Y / 4, (byte)position.X / 4];
+ if (simulator.ParcelMap[(byte)position.Y / 4, (byte)position.X / 4] > 0)
+ {
+ return simulator.ParcelMap[(byte)position.Y / 4, (byte)position.X / 4];
+ }
+ else
+ {
+ Logger.Log(String.Format("ParcelMap returned an default/invalid value for location {0}/{1} Did you use RequestAllSimParcels() to populate the dictionaries?", (byte)position.Y / 4, (byte)position.X / 4 ), Helpers.LogLevel.Warning);
+ return 0;
+ }
}
///