diff --git a/OpenMetaverse/GroupManager.cs b/OpenMetaverse/GroupManager.cs index 60bed95c..c3569b80 100644 --- a/OpenMetaverse/GroupManager.cs +++ b/OpenMetaverse/GroupManager.cs @@ -451,29 +451,26 @@ namespace OpenMetaverse /// /// returned by RequestGroupMembers /// of the group - /// Total number of members in the group /// A dictionary containing the members of a group /// where key is member and value is struct - public delegate void GroupMembersCallback(UUID requestID, UUID groupID, int memberCount, Dictionary members); + public delegate void GroupMembersCallback(UUID requestID, UUID groupID, Dictionary members); /// /// Callback for retrieving group roles /// /// of the request returned from RequestGroupRoles /// of the group - /// Total number of roles defined in the group /// A dictionary containing role s as the key /// and structs as values - public delegate void GroupRolesCallback(UUID requestID, UUID groupID, int roleCount, Dictionary roles); + public delegate void GroupRolesCallback(UUID requestID, UUID groupID, Dictionary roles); /// /// Callback for a pairing of roles to members /// /// of the request returned from RequestGroupRolesMembers /// of the group - /// Total number of role/member mappings /// List containing role/member pairs - public delegate void GroupRolesMembersCallback(UUID requestID, UUID groupID, uint totalPairs, List> rolesMembers); + public delegate void GroupRolesMembersCallback(UUID requestID, UUID groupID, List> rolesMembers); /// /// Callback for the title list of a group @@ -1274,9 +1271,9 @@ namespace OpenMetaverse } } - if (OnGroupMembers != null && groupMemberCache != null) + if (OnGroupMembers != null && groupMemberCache != null && groupMemberCache.Count >= members.GroupData.MemberCount) { - try { OnGroupMembers(members.GroupData.RequestID, members.GroupData.GroupID, members.GroupData.MemberCount, groupMemberCache); } + try { OnGroupMembers(members.GroupData.RequestID, members.GroupData.GroupID, groupMemberCache); } catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); } } } @@ -1324,9 +1321,9 @@ namespace OpenMetaverse } } - if (OnGroupRoles != null && groupRoleCache != null) + if (OnGroupRoles != null && groupRoleCache != null && groupRoleCache.Count >= roles.GroupData.RoleCount) { - try { OnGroupRoles(roles.GroupData.RequestID, roles.GroupData.GroupID, roles.GroupData.RoleCount, groupRoleCache); } + try { OnGroupRoles(roles.GroupData.RequestID, roles.GroupData.GroupID, groupRoleCache); } catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); } } } @@ -1373,9 +1370,9 @@ namespace OpenMetaverse Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); } - if (OnGroupRolesMembers != null && groupRoleMemberCache != null) + if (OnGroupRolesMembers != null && groupRoleMemberCache != null && groupRoleMemberCache.Count >= members.AgentData.TotalPairs) { - try { OnGroupRolesMembers(members.AgentData.RequestID, members.AgentData.GroupID, members.AgentData.TotalPairs, groupRoleMemberCache); } + try { OnGroupRolesMembers(members.AgentData.RequestID, members.AgentData.GroupID, groupRoleMemberCache); } catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); } } } diff --git a/Programs/examples/TestClient/TestClient.cs b/Programs/examples/TestClient/TestClient.cs index 42a45fb5..08d57c3a 100644 --- a/Programs/examples/TestClient/TestClient.cs +++ b/Programs/examples/TestClient/TestClient.cs @@ -122,10 +122,9 @@ namespace OpenMetaverse.TestClient } } - private void GroupMembersHandler(UUID requestID, UUID groupID, int memberCount, Dictionary members) + private void GroupMembersHandler(UUID requestID, UUID groupID, Dictionary members) { - // Check for partial result, or result we didn't request - if (requestID != GroupMembersRequestID || memberCount > members.Count) return; + if (requestID != GroupMembersRequestID) return; GroupMembers = members; } diff --git a/Programs/examples/groupmanager/frmGroupInfo.cs b/Programs/examples/groupmanager/frmGroupInfo.cs index 396fa16e..638dcb90 100644 --- a/Programs/examples/groupmanager/frmGroupInfo.cs +++ b/Programs/examples/groupmanager/frmGroupInfo.cs @@ -212,9 +212,8 @@ namespace groupmanager } } - private void GroupMembersHandler(UUID requestID, UUID groupID, int memberCount, Dictionary members) + private void GroupMembersHandler(UUID requestID, UUID groupID, Dictionary members) { - if (memberCount > members.Count) return; // Partail result Members = members; UpdateMembers();