From bae75cb3e2dfc433be43483e22a7d99ce1fe44bc Mon Sep 17 00:00:00 2001 From: Latif Khalifa Date: Tue, 18 May 2010 10:11:56 +0000 Subject: [PATCH] LIBOMV-835: landstat requests that return no results cause exception to be thrown Patch by Ben Anhalt git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3350 52acb1d6-8a22-11de-b505-999d5b087335 --- OpenMetaverse/Messages/LindenMessages.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/OpenMetaverse/Messages/LindenMessages.cs b/OpenMetaverse/Messages/LindenMessages.cs index bff7d754..838b16c9 100644 --- a/OpenMetaverse/Messages/LindenMessages.cs +++ b/OpenMetaverse/Messages/LindenMessages.cs @@ -360,9 +360,9 @@ namespace OpenMetaverse.Messages.Linden OSDMap map = new OSDMap(3); OSDMap requestDataMap = new OSDMap(3); - requestDataMap["ReportType"] = OSD.FromInteger(this.ReportType); - requestDataMap["RequestFlags"] = OSD.FromInteger(this.RequestFlags); - requestDataMap["TotalObjectCount"] = OSD.FromInteger(this.TotalObjectCount); + requestDataMap["ReportType"] = OSD.FromUInteger(this.ReportType); + requestDataMap["RequestFlags"] = OSD.FromUInteger(this.RequestFlags); + requestDataMap["TotalObjectCount"] = OSD.FromUInteger(this.TotalObjectCount); OSDArray requestDatArray = new OSDArray(); requestDatArray.Add(requestDataMap); @@ -408,6 +408,12 @@ namespace OpenMetaverse.Messages.Linden this.ReportType = requestMap["ReportType"].AsUInteger(); this.RequestFlags = requestMap["RequestFlags"].AsUInteger(); this.TotalObjectCount = requestMap["TotalObjectCount"].AsUInteger(); + + if(TotalObjectCount < 1) + { + ReportDataBlocks = new ReportDataBlock[0]; + return; + } OSDArray dataArray = (OSDArray)map["ReportData"]; OSDArray dataExtendedArray = (OSDArray)map["DataExtended"];