comparison src/pounce.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 fa6395637e2c
children f24172f53650
comparison
equal deleted inserted replaced
8234:a2662eb5955b 8235:63c7a16a2c09
170 170
171 schedule_pounces_save(); 171 schedule_pounces_save();
172 } 172 }
173 173
174 void 174 void
175 gaim_pounce_destroy_all_by_account(GaimAccount *account)
176 {
177 GaimAccount *pouncer;
178 GaimPounce *pounce;
179 GList *l, *l_next;
180
181
182 g_return_if_fail(account != NULL);
183
184 for (l = gaim_pounces_get_all(); l != NULL; l = l_next) {
185 pounce = (GaimPounce *)l->data;
186 l_next = l->next;
187
188 pouncer = gaim_pounce_get_pouncer(pounce);
189 if (pouncer == account)
190 gaim_pounce_destroy(pounce);
191 }
192 }
193
194 void
175 gaim_pounce_set_events(GaimPounce *pounce, GaimPounceEvent events) 195 gaim_pounce_set_events(GaimPounce *pounce, GaimPounceEvent events)
176 { 196 {
177 g_return_if_fail(pounce != NULL); 197 g_return_if_fail(pounce != NULL);
178 g_return_if_fail(pounce != GAIM_POUNCE_NONE); 198 g_return_if_fail(pounce != GAIM_POUNCE_NONE);
179 199
985 } 1005 }
986 1006
987 void 1007 void
988 gaim_pounces_uninit() 1008 gaim_pounces_uninit()
989 { 1009 {
1010 if (pounces_save_timer != 0) {
1011 g_source_remove(pounces_save_timer);
1012 pounces_save_timer = 0;
1013 gaim_pounces_sync();
1014 }
1015
990 gaim_signals_disconnect_by_handle(gaim_pounces_get_handle()); 1016 gaim_signals_disconnect_by_handle(gaim_pounces_get_handle());
991 } 1017 }