Thank you very much, Kmeisthax for:

This patch makes the "Show in Search" checkbox on the viewer work. Additionally, I also discovered that show-in-search objects use the JointWheel flag, so this patch currently uses that flag. LibSL needs to add a flag to enum LLObject.ObjectFlags, "IncludeSearch = 32768" so we aren't using a legacy flag.

Additionally this patch also contains a small fix to BaseHTTPServer that lets the response content-type to be something other than text/html. For some reason this didn't get submitted with the DataSnapshot merge.
This commit is contained in:
Charles Krinke
2008-04-16 03:55:21 +00:00
parent e777f88028
commit bf7e7b2c57
6 changed files with 82 additions and 3 deletions

View File

@@ -163,6 +163,7 @@ namespace OpenSim.Region.ClientStack
private ObjectDuplicateOnRay handlerObjectDuplicateOnRay = null;
private ObjectSelect handlerObjectSelect = null;
private ObjectDeselect handlerObjectDeselect = null;
private ObjectIncludeInSearch handlerObjectIncludeInSearch = null;
private UpdatePrimFlags handlerUpdatePrimFlags = null; //OnUpdatePrimFlags;
private UpdatePrimTexture handlerUpdatePrimTexture = null;
private UpdateVector handlerGrabObject = null; //OnGrabObject;
@@ -699,6 +700,7 @@ namespace OpenSim.Region.ClientStack
public event ObjectDeselect OnObjectDeselect;
public event GenericCall7 OnObjectDescription;
public event GenericCall7 OnObjectName;
public event ObjectIncludeInSearch OnObjectIncludeInSearch;
public event RequestObjectPropertiesFamily OnRequestObjectPropertiesFamily;
public event UpdatePrimFlags OnUpdatePrimFlags;
public event UpdatePrimTexture OnUpdatePrimTexture;
@@ -3791,6 +3793,22 @@ namespace OpenSim.Region.ClientStack
}
break;
case PacketType.ObjectIncludeInSearch:
//This lets us set objects to appear in search (stuff like DataSnapshot, etc)
ObjectIncludeInSearchPacket packInSearch = (ObjectIncludeInSearchPacket)Pack;
handlerObjectIncludeInSearch = null;
foreach (ObjectIncludeInSearchPacket.ObjectDataBlock objData in packInSearch.ObjectData) {
bool inSearch = objData.IncludeInSearch;
uint localID = objData.ObjectLocalID;
handlerObjectIncludeInSearch = OnObjectIncludeInSearch;
if (handlerObjectIncludeInSearch != null) {
handlerObjectIncludeInSearch(this, inSearch, localID);
}
}
break;
#endregion