| 83 | | //Find the highest-up metaContact so our info is accurate |
|---|
| 84 | | |
|---|
| 85 | | AIListObject *containingObject; |
|---|
| 86 | | while ([(containingObject = [listObject containingObject]) isKindOfClass:[AIMetaContact class]]) { |
|---|
| 87 | | listObject = containingObject; |
|---|
| | 83 | if ([listObject isKindOfClass:[AIListContact class]]) { |
|---|
| | 84 | AIListContact *parentContact = [(AIListContact *)listObject parentContact]; |
|---|
| | 85 | |
|---|
| | 86 | /* Use the parent contact if it is a valid meta contact which contains contacts |
|---|
| | 87 | * If this contact is within a metacontact but not currently listed on any buddy list, we don't want to |
|---|
| | 88 | * display the effectively-invisible metacontact's info but rather the info of this contact itself. |
|---|
| | 89 | */ |
|---|
| | 90 | if (![parentContact isKindOfClass:[AIMetaContact class]] || |
|---|
| | 91 | [[(AIMetaContact *)parentContact listContacts] count]) { |
|---|
| | 92 | listObject = parentContact; |
|---|
| | 93 | } |
|---|