aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/LLLoginService
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Services/LLLoginService')
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginResponse.cs14
1 files changed, 13 insertions, 1 deletions
diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs
index ddc8855..4fac951 100644
--- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs
@@ -621,7 +621,19 @@ namespace OpenSim.Services.LLLoginService
621 if (finfo.TheirFlags == -1) 621 if (finfo.TheirFlags == -1)
622 continue; 622 continue;
623 LLLoginResponse.BuddyList.BuddyInfo buddyitem = new LLLoginResponse.BuddyList.BuddyInfo(finfo.Friend); 623 LLLoginResponse.BuddyList.BuddyInfo buddyitem = new LLLoginResponse.BuddyList.BuddyInfo(finfo.Friend);
624 buddyitem.BuddyID = finfo.Friend; 624 // finfo.Friend may not be a simple uuid
625 UUID friendID = UUID.Zero;
626 if (UUID.TryParse(finfo.Friend, out friendID))
627 buddyitem.BuddyID = finfo.Friend;
628 else
629 {
630 string tmp;
631 if (Util.ParseUniversalUserIdentifier(finfo.Friend, out friendID, out tmp, out tmp, out tmp))
632 buddyitem.BuddyID = friendID.ToString();
633 else
634 // junk entry
635 continue;
636 }
625 buddyitem.BuddyRightsHave = (int)finfo.TheirFlags; 637 buddyitem.BuddyRightsHave = (int)finfo.TheirFlags;
626 buddyitem.BuddyRightsGiven = (int)finfo.MyFlags; 638 buddyitem.BuddyRightsGiven = (int)finfo.MyFlags;
627 buddylistreturn.AddNewBuddy(buddyitem); 639 buddylistreturn.AddNewBuddy(buddyitem);