Mercurial > pidgin.yaz
comparison src/account.c @ 8235:63c7a16a2c09
[gaim-migrate @ 8958]
A bunch of minor changes, much of it from Gary Kramlich
(amc_grim/xgrimx):
gaim-away_do_menu_leak.diff - plugs a memory leak in
the do away menu code
gaim-gtkpounce_smart_menu.diff - makes the buddy pounce
menu only show currently online accounts so that we can
edit them. With the current pounce dialog you can only
edit pounces for accounts that are online, this stops
users from inadvertently change the account for which a
pounce belongs.
gaim-remove_pouces_with_account.diff - removes pounces
for an account when that account is deleted. It adds a
function to pounce.[ch];
gaim_pounces_delete_all_from_account, the doxygen help
has been added to punce.h so that it will generate it
with the rest of the doxygen api.
gaim-yahoo_segfault_on_self_pounce.diff - fixes a
segfault which occurred with yahoo if you had a pounce
set on yourself to message on signon. What was
happening was that the display name was being set after
the pounces were being executed. This fixes that.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 12 Feb 2004 05:26:52 +0000 |
parents | ea3eb461efc0 |
children | f24172f53650 |
comparison
equal
deleted
inserted
replaced
8234:a2662eb5955b | 8235:63c7a16a2c09 |
---|---|
24 */ | 24 */ |
25 #include "internal.h" | 25 #include "internal.h" |
26 #include "account.h" | 26 #include "account.h" |
27 #include "debug.h" | 27 #include "debug.h" |
28 #include "notify.h" | 28 #include "notify.h" |
29 #include "pounce.h" | |
29 #include "prefs.h" | 30 #include "prefs.h" |
30 #include "prpl.h" | 31 #include "prpl.h" |
31 #include "request.h" | 32 #include "request.h" |
32 #include "signals.h" | 33 #include "signals.h" |
33 #include "server.h" | 34 #include "server.h" |
1441 | 1442 |
1442 g_return_if_fail(account != NULL); | 1443 g_return_if_fail(account != NULL); |
1443 | 1444 |
1444 gaim_accounts_remove(account); | 1445 gaim_accounts_remove(account); |
1445 | 1446 |
1447 /* Remove this account's buddies */ | |
1446 for (gnode = gaim_get_blist()->root; gnode != NULL; gnode = gnode->next) { | 1448 for (gnode = gaim_get_blist()->root; gnode != NULL; gnode = gnode->next) { |
1447 if (!GAIM_BLIST_NODE_IS_GROUP(gnode)) | 1449 if (!GAIM_BLIST_NODE_IS_GROUP(gnode)) |
1448 continue; | 1450 continue; |
1449 for (cnode = gnode->child; cnode; cnode = cnode->next) { | 1451 for (cnode = gnode->child; cnode; cnode = cnode->next) { |
1450 if(GAIM_BLIST_NODE_IS_CONTACT(cnode)) { | 1452 if(GAIM_BLIST_NODE_IS_CONTACT(cnode)) { |
1462 if (c->account == account) | 1464 if (c->account == account) |
1463 gaim_blist_remove_chat(c); | 1465 gaim_blist_remove_chat(c); |
1464 } | 1466 } |
1465 } | 1467 } |
1466 } | 1468 } |
1467 | |
1468 gaim_blist_save(); | 1469 gaim_blist_save(); |
1470 | |
1471 /* Remove this account's pounces */ | |
1472 gaim_pounce_destroy_all_by_account(account); | |
1469 | 1473 |
1470 gaim_account_destroy(account); | 1474 gaim_account_destroy(account); |
1471 } | 1475 } |
1472 | 1476 |
1473 void | 1477 void |
1652 } | 1656 } |
1653 | 1657 |
1654 void | 1658 void |
1655 gaim_accounts_uninit(void) | 1659 gaim_accounts_uninit(void) |
1656 { | 1660 { |
1661 if (accounts_save_timer != 0) { | |
1662 g_source_remove(accounts_save_timer); | |
1663 accounts_save_timer = 0; | |
1664 gaim_accounts_sync(); | |
1665 } | |
1666 | |
1657 gaim_signals_unregister_by_instance(gaim_accounts_get_handle()); | 1667 gaim_signals_unregister_by_instance(gaim_accounts_get_handle()); |
1658 } | 1668 } |