diff options
author | Justin Clark-Casey (justincc) | 2012-05-07 17:21:45 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-05-07 17:21:45 +0100 |
commit | cdf97ab3a654581fe5c3f29b1b3a6459c8c73378 (patch) | |
tree | c9f2d386908dccd0b997430acf7231556adbc910 /OpenSim | |
parent | add a null check for Primitive.Sculpt in PrimitiveBaseShape constructor for O... (diff) | |
download | opensim-SC-cdf97ab3a654581fe5c3f29b1b3a6459c8c73378.zip opensim-SC-cdf97ab3a654581fe5c3f29b1b3a6459c8c73378.tar.gz opensim-SC-cdf97ab3a654581fe5c3f29b1b3a6459c8c73378.tar.bz2 opensim-SC-cdf97ab3a654581fe5c3f29b1b3a6459c8c73378.tar.xz |
Fix a bug in FriendsModule.StatusNotify() where all subsequent friends would not be notified once a non-local friend was found.
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index fc6325d..98afbc9 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | |||
@@ -498,7 +498,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
498 | Util.FireAndForget( | 498 | Util.FireAndForget( |
499 | delegate | 499 | delegate |
500 | { | 500 | { |
501 | m_log.DebugFormat("[FRIENDS MODULE]: Notifying {0} friends", friendList.Count); | 501 | m_log.DebugFormat( |
502 | "[FRIENDS MODULE]: Notifying {0} friends of {1} of online status {2}", | ||
503 | friendList.Count, agentID, online); | ||
504 | |||
502 | // Notify about this user status | 505 | // Notify about this user status |
503 | StatusNotify(friendList, agentID, online); | 506 | StatusNotify(friendList, agentID, online); |
504 | } | 507 | } |
@@ -515,7 +518,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
515 | { | 518 | { |
516 | // Try local | 519 | // Try local |
517 | if (LocalStatusNotification(userID, friendID, online)) | 520 | if (LocalStatusNotification(userID, friendID, online)) |
518 | return; | 521 | continue; |
519 | 522 | ||
520 | // The friend is not here [as root]. Let's forward. | 523 | // The friend is not here [as root]. Let's forward. |
521 | PresenceInfo[] friendSessions = PresenceService.GetAgents(new string[] { friendID.ToString() }); | 524 | PresenceInfo[] friendSessions = PresenceService.GetAgents(new string[] { friendID.ToString() }); |
@@ -523,11 +526,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
523 | { | 526 | { |
524 | PresenceInfo friendSession = null; | 527 | PresenceInfo friendSession = null; |
525 | foreach (PresenceInfo pinfo in friendSessions) | 528 | foreach (PresenceInfo pinfo in friendSessions) |
529 | { | ||
526 | if (pinfo.RegionID != UUID.Zero) // let's guard against sessions-gone-bad | 530 | if (pinfo.RegionID != UUID.Zero) // let's guard against sessions-gone-bad |
527 | { | 531 | { |
528 | friendSession = pinfo; | 532 | friendSession = pinfo; |
529 | break; | 533 | break; |
530 | } | 534 | } |
535 | } | ||
531 | 536 | ||
532 | if (friendSession != null) | 537 | if (friendSession != null) |
533 | { | 538 | { |