comparison src/protocols/oscar/locate.c @ 8341:fec4c1fb2ac8

[gaim-migrate @ 9065] Alright, I had to lay down a little bit of smack. Here goes: -Work around the rate-limit problem caused by Gaim auto-requesting away messages too quickly. Basically there is now a 1.2sec gap between each request. The downside is that it takes a bit longer for Gaim to get everyone's away message initially. Adium shouldn't need to do anything to take advantage of this. Fire (they use libfaim, right?) will need to add a callback for AIM_CB_LOC_REQUESTINFOTIMEOUT. Just search oscar.c for gaim_reqinfo_timeout() and copy what that thing does. -Attempt to do a better job showing away messages in tooltips. Hopefully & and greater than and less than will show up correctly now. I don't think there should be any side effects, but if you mouse over someone and it crashes or you get a pango error let me know. -Remove/combine some silly functions in util.c that few things use. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 26 Feb 2004 08:29:32 +0000
parents 697221d5d0ff
children 59e83fdb753e
comparison
equal deleted inserted replaced
8340:ab6ffc260785 8341:fec4c1fb2ac8
255 cur->away_encoding = strdup(userinfo->away_encoding); 255 cur->away_encoding = strdup(userinfo->away_encoding);
256 cur->away_len = userinfo->away_len; 256 cur->away_len = userinfo->away_len;
257 } 257 }
258 } 258 }
259 259
260 static void aim_locate_dorequest(aim_session_t *sess) { 260 faim_export void aim_locate_dorequest(aim_session_t *sess) {
261 struct userinfo_node *cur = sess->locate.torequest; 261 struct userinfo_node *cur = sess->locate.torequest;
262 262
263 if (cur == NULL) 263 if (cur == NULL)
264 return; 264 return;
265 265
307 } else 307 } else
308 cur = cur->next; 308 cur = cur->next;
309 } 309 }
310 310
311 if (!was_explicit) { 311 if (!was_explicit) {
312 aim_conn_t *conn = aim_conn_findbygroup(sess, AIM_CB_FAM_LOC);
313 aim_rxcallback_t userfunc;
314
312 sess->locate.waiting_for_response = FALSE; 315 sess->locate.waiting_for_response = FALSE;
313 aim_locate_dorequest(sess); 316
317 if ((userfunc = aim_callhandler(sess, conn, AIM_CB_FAM_LOC, AIM_CB_LOC_REQUESTINFOTIMEOUT)))
318 userfunc(sess, NULL);
314 } 319 }
315 320
316 return was_explicit; 321 return was_explicit;
317 } 322 }
318 323