Mercurial > pidgin
comparison libpurple/protocols/msn/session.c @ 20432:703fc3437ab5
Store account specific settings in the account, not in some random blist
node that happens to be on this account (!!!)
author | Stu Tomlinson <stu@nosnilmot.com> |
---|---|
date | Sat, 26 May 2007 15:07:26 +0000 |
parents | 0f6747c5dcc2 |
children | df8f443ae65f |
comparison
equal
deleted
inserted
replaced
20431:67cda4e0dac8 | 20432:703fc3437ab5 |
---|---|
257 } | 257 } |
258 | 258 |
259 swboard->flag |= flag; | 259 swboard->flag |= flag; |
260 | 260 |
261 return swboard; | 261 return swboard; |
262 } | |
263 | |
264 /*setup the bnode, for MSN SOAP contact/address book op*/ | |
265 void | |
266 msn_session_set_bnode(MsnSession *session) | |
267 { | |
268 PurpleBlistNode *gnode, *cnode, *bnode; | |
269 PurpleConnection *gc = purple_account_get_connection(session->account); | |
270 | |
271 g_return_if_fail(gc != NULL); | |
272 | |
273 /* The core used to use msn_add_buddy to add all buddies before | |
274 * being logged in. This no longer happens, so we manually iterate | |
275 * over the whole buddy list to identify sync issues. */ | |
276 for (gnode = purple_get_blist()->root; gnode; gnode = gnode->next) | |
277 { | |
278 if(!PURPLE_BLIST_NODE_IS_GROUP(gnode)) | |
279 continue; | |
280 for(cnode = gnode->child; cnode; cnode = cnode->next) { | |
281 if(!PURPLE_BLIST_NODE_IS_CONTACT(cnode)) | |
282 continue; | |
283 for(bnode = cnode->child; bnode; bnode = bnode->next) { | |
284 PurpleBuddy *b; | |
285 if(!PURPLE_BLIST_NODE_IS_BUDDY(bnode)) | |
286 continue; | |
287 b = (PurpleBuddy *)bnode; | |
288 if(b->account == gc->account){ | |
289 session->bnode = bnode; | |
290 return; | |
291 } | |
292 } | |
293 } | |
294 } | |
295 session->bnode = NULL; | |
296 } | |
297 | |
298 /*get bnode*/ | |
299 PurpleBlistNode * | |
300 msn_session_get_bnode(MsnSession *session) | |
301 { | |
302 #if 1 | |
303 return session->bnode; | |
304 #else | |
305 return purple_get_blist()->root; | |
306 #endif | |
307 } | 262 } |
308 | 263 |
309 static void | 264 static void |
310 msn_session_sync_users(MsnSession *session) | 265 msn_session_sync_users(MsnSession *session) |
311 { | 266 { |