Commits

Baker Linden committed f7a9c3a

- Fixed an issue where group list wouldn't fall back to UDP if the region doesn't support the new GroupMemberData capabaility
- Fixed a potential null pointer crash.

Thanks to Ansariel from Firestorm for these!

Reviewer: Myself

  • Participants
  • Parent commits 5a78676

Comments (0)

Files changed (1)

File indra/newview/llgroupmgr.cpp

 		return;
 	
 	LLViewerRegion* currentRegion = gAgent.getRegion();
+	// Thank you FS:Ansariel!
+	if(!currentRegion)
+	{
+		LL_WARNS("GrpMgr") << "Agent does not have a current region. Uh-oh!" << LL_ENDL;
+		return;
+	}
 
 	// Check to make sure we have our capabilities
 	if(!currentRegion->capabilitiesReceived())
 	// Get our capability
 	std::string cap_url =  currentRegion->getCapability("GroupMemberData");
 
+	// Thank you FS:Ansariel!
+	if(cap_url.empty())
+	{
+		LL_INFOS("GrpMgr") << "Region has no GroupMemberData capability.  Falling back to UDP fetch." << LL_ENDL;
+		sendGroupMembersRequest(group_id);
+		return;
+	}
+
 	// Post to our service.  Add a body containing the group_id.
 	LLSD body = LLSD::emptyMap();
 	body["group_id"]	= group_id;