Mercurial > pidgin
comparison src/protocols/msn/session.c @ 5351:2aa7e4237142
[gaim-migrate @ 5727]
Buddy icon support!
The MSN protocol does not support this, but it does allow for different
content-types, which no client (except a couple broken ones I can name)
will see. So, I managed to extend the protocol a bit to do buddy icons.
It should work like AIM. Setup your icon in your account editor, and
message somebody. If they change their icon, however, you will have to
close the conversation window, re-open it, and send another message. That's
just how it has to work for now, I'm afraid.
Oh, and another thing. MSNP7 (P6 as well? Not sure) times out inactive
conversations after 5 minutes. Right now, you're seeing "User has closed
the conversation window" messages, but they're really not. So, we now print
out a message saying it timed out. Ugly, yes, but unless we have both
messages, there's confusion. Oh well! Kick the hay!
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Sat, 10 May 2003 23:55:18 +0000 |
| parents | bd98232872a3 |
| children | 8a74fbcb7bcb |
comparison
equal
deleted
inserted
replaced
| 5350:a6146cbae03b | 5351:2aa7e4237142 |
|---|---|
| 138 g_return_val_if_fail(passport != NULL, NULL); | 138 g_return_val_if_fail(passport != NULL, NULL); |
| 139 | 139 |
| 140 for (l = session->switches; l != NULL; l = l->next) { | 140 for (l = session->switches; l != NULL; l = l->next) { |
| 141 swboard = (MsnSwitchBoard *)l->data; | 141 swboard = (MsnSwitchBoard *)l->data; |
| 142 | 142 |
| 143 if (!g_ascii_strcasecmp(passport, | 143 if (!swboard->hidden && |
| 144 !g_ascii_strcasecmp(passport, | |
| 144 msn_user_get_passport(swboard->user))) { | 145 msn_user_get_passport(swboard->user))) { |
| 145 return swboard; | 146 return swboard; |
| 146 } | 147 } |
| 147 } | 148 } |
| 148 | 149 |
| 177 g_return_val_if_fail(session != NULL, NULL); | 178 g_return_val_if_fail(session != NULL, NULL); |
| 178 | 179 |
| 179 for (l = session->switches; l != NULL; l = l->next) { | 180 for (l = session->switches; l != NULL; l = l->next) { |
| 180 swboard = (MsnSwitchBoard *)l->data; | 181 swboard = (MsnSwitchBoard *)l->data; |
| 181 | 182 |
| 182 if (!swboard->in_use) | 183 if (!swboard->in_use && !swboard->hidden) |
| 183 return swboard; | 184 return swboard; |
| 184 } | 185 } |
| 185 | 186 |
| 186 return NULL; | 187 return NULL; |
| 187 } | 188 } |
